[Programmers/JAVA] 짝수와 홀수

     

     

     

    https://programmers.co.kr/learn/courses/30/lessons/12937

     

    코딩테스트 연습 - 짝수와 홀수

    정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even"

    programmers.co.kr

     

     

    오답

    class Solution {
        public String solution(int num) {
            String sol = "";
            
            if(num>0){
                if(num%2==0){
                    sol = "Even";
                }else{
                    sol = "Odd";
                }
            }
            return sol;
        }
    }

    테스트 케이스는 통과했다.

    하지만

     

    하지만 결과는 오답이었다 ㅎ

     

    틀린 이유 1

    문제에 0은 짝수라고 적혀있었다.

    그럼 조건식을 if(num>0)이 아니라 0을 포함하는 if(num>=0)으로 작성해야 함

    if(num>=0)

    그래도 여전히 75점이다.

     

    틀린 이유 2

    문제에서 정수라고 했기 때문에 num에 음수가 올 수도 있다.

    따라서 애초에 num>=0 조건식 자체를 사용하면 안 되는 문제였다 ㅎ

     

     

     

     

     

    정답 1

    class Solution {
        public String solution(int num) {
            String answer = "";
           
            if(num%2==0){
                answer = "Even";
            }else{
                answer = "Odd";
            }
        
            return answer;
        }
    }

     

    정답 2

    삼항 연산자로 코드를 더 줄여보자

    class Solution {
        public String solution(int num) {
         return num%2==0?"Even":"Odd";
        }
    }

     


     

    배운 점

     

    - 문제를 잘 읽자! 정수라고 했지, 양수라고는 안 했으니까 😂

    - 그리고 클린 코드 신경 쓰기!  "짝수" "홀수"와 같이 둘 중 하나인 값을 return 할 경우 삼항 연산자도 잘 이용해 보기! 

    728x90

    '📓 Study > Coding Test' 카테고리의 다른 글

    [Programmers/JAVA] 핸드폰 번호 가리기  (0) 2021.09.23
    [Programmers/JAVA] 직사각형 별찍기  (0) 2021.09.22
    [BOJ] 10817 | 세 수  (0) 2021.09.19
    [BOJ] 2438번 별찍기  (0) 2021.09.12
    [BOJ] 5543번 | 상근날드  (0) 2021.09.02

    댓글