본문 바로가기
코딩테스트/Programmers

[Programmers][Python][Level 1] 짝수와 홀수

by codeok 2021. 4. 21.
반응형

프로그래머스의 Level 01 연습문제의 짝수와 홀수 문제입니다.

 

 

코딩테스트 연습 - 짝수와 홀수

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even"

programmers.co.kr

 

문제 

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수,

solution을 완성해주세요.

 

제한 조건

 

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

 

 

 

 

입출력 예

num return
   
3 "Odd"
4 "Even"

 

풀이

 

첫 번째 풀이

정수를 나머지 연산을 해서 0이 나오면 짝수이기에 'Even'을 출력해주고, 1이 나오면 홀수이기에 'Odd'를 출력해주는 것을 삼항 연산자를 이용해서 풀었습니다.

 

def solution(num):
        
    return 'Even' if num % 2 == 0 else 'Odd'

 

다른 사람의 풀이 1 - 비트 AND 연산 사용

비트 AND 연산자는 두 값이 모두 1일때 1로 변경합니다.

 

  • [num & 1]
    • [1 & 1] => 0001 & 0001 => 1
    • [2 & 1] => 0010 & 0001 => 0
    • [3 & 1] => 0011 & 0001 => 1
    • [4 & 1] => 0100 & 0001 => 0
    • 보시면 공통점은 1,3 홀수는 항상 1이 나아고, 2,4 짝수는 0이 나옵니다.

 

def solution(num):
        
    return ['Even', 'Odd'][num & 1]
반응형