프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 홀짝 구분하기(Java)

Sigfriede 2023. 4. 26. 17:43

  문제 설명

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

 

  제한사항

  • 1 <= n <= 1,000

 

  입출력 예

입력 출력
100 100 is even
1 1 is odd
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        if (n % 2 == 0) {
            System.out.printf("%d is even", n);
        } else {
            System.out.printf("%d is odd", n);
        }
    }
}

  if문으로 홀수와 짝수를 구분합니다. n % 2 == 0이라는 조건은 짝수를 나타냅니다. 2로 나누어지지 않는 짝수는 없습니다. 따라서 조건에 부합할 시 문제에서 제시한 조건을 출력합니다. 짝수가 아니면 홀수이므로 else if가 아닌 else를 썼습니다. 만약 조건을 명시적으로 작성해야 할 경우에는(주석을 쓰면 좋겠지만) 종종 else if를 쓰기도 합니다. 현업에서도 괜찮은지는 잘 모르겠습니다.

  짝수와 홀수를 구분하는 문제는 삼항 연산자의 사용을 고려하는 것도 괜찮은 듯 보입니다. 다만 이 문제에서는 문장으로 처리해야 하므로, 삼항 연산자의 사용은 가독성이 다소 떨어질 수 있을 듯합니다.

 

  삼항 연산자를 이용하는 다른 문제(설명, 예시 O)

  [프로그래머스 코딩테스트] 숫자 비교하기(Java) https://sigfriede.tistory.com/15