문제 출처

문제 설명

정수 num이 짝수일 경우 “Even”을 반환하고 홀수인 경우 “Odd”를 반환하는 함수, solution을 완성해주세요.


제한 조건
  • num은 int 범위의 정수입니다.
  • 0은 짝수입니다.

입출력 예
num return
3 “Odd”
4 “Even”

풀이

입력된 수가 짝수인지 홀수인지 판단하는 아주 기초적인 문제입니다.

1
2
3
func solution(_ num:Int) -> String {
    return num % 2 == 0 ? "Even" : "Odd"
}
  • 삼항 연산자를 이용해 (입력받은 값 % 2 == 0이면 짝수)를 이용해 결과를 출력합니다.


근데 저는 원래 num % 2 == 0이 아닌 1로 홀수인지 판단하는 조건으로 풀었었습니다.

1
2
3
4
5
if num % 2 == 1 {
  return "Odd"
} else {
  return "Even"
}


아마 평소에 짝수 홀수가 아닌 홀수 짝수로 말하다 보니 홀수인지 아닌지 먼저 판단했었는데요..
만약 num이 음수일 경우 문제가 생기더라구요.
num이 -1이라면 값이 -1이나와 홀수인데도 == 1조건을 만족 못해서 짝수라고 판단합니다…

1
2
3
4
5
if num % 2 == 1 || num % 2 == -1 {
  return "Odd"
} else {
  return "Even"
}

이렇게 || 으로 음수에 대한 조건을 추가하거나 짝수인지 아닌지로 판단하여 풀면 됩니다.

기초적인 문제여서 방심을 했던 거 같습니다..ㅎㅎ
풀고 나서보니 문제 이름이 왜 짝수와 홀수인지 알게 되는 문제였습니다…


실행 결과

스크린샷 2022-08-05 오후 6 42 15

업데이트:

댓글남기기