반응형
프로그래머스의 Level 01 연습문제의 짝수와 홀수 문제입니다.
문제
정수 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]
반응형
'코딩테스트 > Programmers' 카테고리의 다른 글
[SQL][PGS] 입양 시각 구하기(2) (0) | 2022.07.16 |
---|---|
[Java][PGS][Level2] 오픈채팅방 (0) | 2022.07.07 |
[Programmers][Python][Level 1] [1차] 비밀지도 (0) | 2021.04.25 |
[Programmers][Python][Level 1] 제일 작은 수 제거하기 (0) | 2021.04.21 |
[Programmers][Python][Level 1] 나누어 떨어지는 숫자 배열 (0) | 2021.04.18 |
[Programmers][Python][Level 1] 내적 (0) | 2021.04.18 |
[Programmers][Python][Level 1] 음양 더하기 (0) | 2021.04.18 |
[Programmers][Python][Level 1] 예산 (0) | 2021.04.18 |