[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

댓글