짝수와 홀수
문제 링크
나의 풀이
def solution(num):
answer = ''
if num % 2 == 0:
answer = 'Even'
else:
answer = 'Odd'
return answer
- 매우 기본적인 문제이지만, 이 기본적인 풀이법조차도 다양한 코드로 더 간결하게 구성하는 다른 사람들의 풀이를 참고할 필요가 있다.
다른 사람의 풀이
def evenOrOdd(num):
return ["Even", "Odd"][num & 1]
- 비트논리 연산자의 개념으로 풀이한 답안이다.
홀/짝은 2진 비트의 첫 번째 자리에 의해 결정되므로, & 연산자로 0 또는 1의 결과를 구하고 이것을 리스트 인덱스로 활용하여 답을 도출하였다...
- 비트 논리 연산자와 비트 연산자 진리표의 개념을 확실히 알아야 이와 같은 코드 작성이 가능하다. 이렇게 푸는 방법도 있구나 하고 넘어가면 될 듯하다.
def evenOrOdd(num):
return "Even" if num%2 == 0 else "Odd"
- return에 if문을 사용하여 답을 도출하는 것이 가능하다는걸 알게되었다.