문제
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수
num = 3, return = "Odd"
num = 4, return = "Even"
내 코드
def solution(num): if num % 2 == 0: answer = "Even" else : answer = "Odd" return answer
내 코드의 경우, 불필요한 answer 변수를 만들어서 별로 좋지 않은 코드라고 한다..
다른 풀이
def evenOrOdd(num): if (num%2): return "Odd" else: return "Even"
다른 풀이
def evenOrOdd(num): return ["Even", "Odd"][num & 1]
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
입력받은 num이 홀수인 경우에 첫 번째 자리가 항상 1이고, 짝수인 경우에는 항상 0이다.
따라서 [num & 1] 는 짝수인 경우 [0], 홀수인 경우 [1]을 나타내므로 각각 "Even", "Odd" 인덱스를 반환한다.