❓ 문제
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.
✔️ 조건
- num은 int 범위의 정수입니다.
- 0은 짝수입니다.
💡 해결하기
기본적으로 num을 2로 나누어 나온 나머지가 0이면 짝수, 1이면 홀수이다.
조건식을 사용하여 해결할 수 있다.
조건식의 결과가 0일 경우 false, 0이 아닌 모든 경우는 true라는 점을 기억하고 가자.
* 알아두기
python에서는 음수를 2로 나누어 나온 나머지가 0일 경우 짝수, 1일 경우 홀수이다. 기본적인 경우와 같다.
그런데 js에서는 음수를 2로 나누어 나온 나머지가 -0일 때 짝수, -1일 때 홀수이다. 나머지가 음수인 것이다.
-0과 0은 같은 것으로 취급한다.
# python
print(-5 % 2) # 1
print(-4 % 2) # 0
// js
console.log(-5 % 2) // -1
console.log(-4 % 2) // -0
console.log(-0 === 0) // true
📌 Python
나머지가 0이 아닌지를 체크하고 참이면 "Odd"을 반환하고, 거짓이면 "Even"를 반환하는 식으로 간단하게 작성할 수 있다.
if와 else를 사용하였다.
def solution(num):
if num % 2: # 2로 나눈 나머지가 0이 아닌 경우(True) (1인 경우)
return "Odd" # 홀수 (return 되면 함수 끝남.)
return "Even" # 나머지가 0인 경우(False) 짝수
📌 Javascript
Python과 똑같은 방식으로 해결하되, 삼항 연산자를 이용해 작성하면 깔끔하게 한줄로 작성이 가능하다.
function solution(num) {
return num % 2 ? "Odd" : "Even";
}
'코딩 테스트 연습 > 프로그래머스 level 1' 카테고리의 다른 글
[프로그래머스] lv1. 문자열 내 p와 y의 개수 (JS) (0) | 2023.07.06 |
---|---|
[프로그래머스] lv1. 나머지가 1이 되는 수 찾기 (JS) (0) | 2023.07.01 |
[프로그래머스] lv1. 자릿수 더하기 (0) | 2023.04.25 |
[프로그래머스] lv1. 평균 구하기 (2) | 2023.04.25 |
[프로그래머스] lv1. 약수의 합 (0) | 2023.04.25 |
댓글