본문 바로가기

Skill Sets/Python

[Python] 짝수와 홀수(프로그래머스/python/Level 1)

SMALL

안녕하세요! 데코입니다!

 

오늘은 프로그래머스 코딩테스트 연습에 있는 "짝수와 홀수" 문제를 포스팅하려고 합니다!

 

바로 포스팅 시작할게요! :)

(출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12937)

 


 

 

1. 문제 :  짝수와 홀수(Lv. 1)

 

 


 

2. 문제 설명

 

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.

 

[ 제한 사항 ]

 

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

 

[ 입출력 예 ]

 

num return
3 "Odd"
4 "Even"

 


 

3. 문제 풀이

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

 

이번 문제 풀이는 명확해서 1안 하나로 작성했습니다!

 

#  1안 풀이 설명

# [ 문제 풀이 설명 ]

 

문제를 읽고 풀이 방향에 대한 생각은 매우 명확했습니다!

 

짝수와 홀수를 판별하는 것이기 때문에, 주어진 num을 2로 나눠서 나머지가 무엇인지를 확인하고

 

나머지가 0인 경우에는 짝수이므로 answer 변수에 "Even"을 할당하고

 

나머지가 0이 아닌 경우에는 홀수이므로 answer 변수에 "Odd"를 할당하려고 했어요!

 

따라서 1안은 위 내용을 if문 안에서 동작이 되도록 코드를 작성하였어요!

 

이렇게 풀다 보니 매우 짧게 문제를 풀었습니다!

 

이렇게 푼 예를 들어볼게요!

 

num = 5인 경우, 5 나누기 2의 나머지 = 1 > 홀수 > "Odd"을 answer에 할당

num = 6인 경우, 6 나누기 2의 나머지 = 0 > 짝수 > "Even"을 answer에 할당

num = 7인 경우, 7 나누기 2의 나머지 = 1 > 홀수 > "Odd"을 answer에 할당

num = 8인 경우, 8 나누기 2의 나머지 = 0 > 짝수 > "Even"을 answer에 할당

num = 9인 경우, 9 나누기 2의 나머지 = 1 > 홀수 > "Odd"을 answer에 할당

num = 10인 경우, 10 나누기 2의 나머지 = 0 > 짝수 > "Even"을 answer에 할당

 

# 1안

def solution(num):
    # 2로 나눠 나머지가 0인지를 확인
    if num%2 == 0:
         # 나머지가 0인 경우 "Even"
        answer = "Even"
    else:
         # 나머지가 0이 아닌 경우 "Odd"
        answer = "Odd"
    return answer

 

정답...!

 


 

4. 문제 풀이 후기

이번 문제는 난이도가 거의 0단계로

 

반복문과 나머지를 산출하는 %를 아는지 물어보는 문제 같아요!!

 

사실 이 문제를 포스팅해야 하나 고민을 하다가, 제가 데이터 분석을 하면서 은근 홀수와 짝수 로직을

 

많이 활용한 기억이 나서 짧게 포스팅을 해보았습니다!

 

또 level 2 이상에서는 이런 로직을 활용해서 풀어야 하기 때문에,

 

다음 문제에 참고하기 위한 포스팅으로 생각해 주시면 될 것 같아요!

 

이외에는 아직은 level 1 문제이다 보니 어려운 부분이 없어서 제가 따로 코멘트할 것은 없습니다!

 



이번 포스팅은 프로그래머스에 있는

 

python을 이용한 코딩테스트 문제를 풀어보았습니다!

 

빠르게 level 1인 python 코딩테스트 문제들을 포스팅을 하려고 합니다!

 

설명이 어려운 부분 혹은 잘 이해가 안 가는 부분

그리고 더 궁금한 내용이 있다면

언제든지 댓글로 남겨주세요!

빠르게 궁금증을 해결해 드릴게요!

공감과 댓글은 큰 힘이 됩니다!

오늘도 블로그 방문해 주시고

포스팅 읽어주셔서 감사합니다!

 

 

LIST