본문 바로가기

Python Coding Test

[프로그래머스/파이썬] Lv.1 짝수와 홀수

문제 설명

함수 solution : 정수 num이 짝수일 경우 "Even"을,  홀수일 경우 "Odd"를 반환한다. 

 

제한사항

  • num은 int 범위의 정수이다.
  • 0은 짝수이다.

입출력 예

num return
3 "Odd"
4 "Even"

나의 풀이

def solution(num):
    if num%2==1:
        return "Odd"
    else:
        return "Even"

 

나머지 함수 %를 이용해 나머지가 1이면 홀수이니 "Odd"를,  1이 아니라면 짝수이니 "Even"을 리턴한다.

다른 사람의 풀이

def evenOrOdd(num):
    return ["Even", "Odd"][num & 1]

 

비트 연산자 '&' : 두 숫자의 비트를 비교하여 둘 다 1이면 결과가 1이다. 홀수는 비트가 1이다.
따라서 홀수이면 num&1 은 1, 짝수이면 num%1 은 0이 된다.

이를 이용하여 리스트의 인덱스 꼴로 활용한 것이다.