Category/코딩테스트

프로그래머스 코딩테스트 연습 - 홀짝 구분하기

developer__Y 2023. 9. 20. 19:07

프로그래머스 > 코딩 기초 트레이닝 > 홀짝 구분하기

 

문제 출처 :

https://school.programmers.co.kr/learn/courses/30/lessons/181944

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명 :

자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.

 

문제 풀이 :

첫번째 풀이 -  if 조건문을 사용하여 입력된 값 n을 2로 나누어 나머지가 0이면 (짝수이면) "n is even" ,

    나머지가 1이면(짝수이면) "n is odd" 을 출력한다.

import java.util.Scanner;

public class codingtest1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

            if (n % 2 == 1) {
                System.out.println(n + " is odd");
            } else {
                System.out.println(n + " is even");
            }
        }
    }

 

두번째 풀이 - 조건연산자(삼항연산자) ? :  을 사용하여 나머지값(0 or 1) 조건문을 작성한다.

 

import java.util.Scanner;

public class codingtest1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        System.out.println ( n + " is " + (n % 2 ==0 ? "even" : "odd"));

            }
        }
    

 

홀수값과 짝수값을 구하기위하여 해당 수를 2로 나눈값이 0,1이라는 간단한 로직을 사용하는 것을 통해

코딩과 수학적 개념이 밀접한 연관을 갖고있다는 것을 깨닫게 되었다.

복잡한 알고리즘을 만들기 위해 수학적인 지식도 반드시 필요할 것 같다.

또한, 해당문제를 풀면서 단순히 if 조건문만 떠올리고, ? : 라는 조건연산자는 생각치도 못했다.

같은 기능을 구현하더라도 지식의 넓이에 따라 다양한 방법으로 해당 기능을 구현할수있다는 것!

얼른 기초트레이닝 졸업해야지!