본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python] 1162번 : 당신의 사주를 봐 드립니다 1

by 빛밤하늘 2021. 8. 22.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

문제는 링크를 통해서 직접 봐주시길 바랍니다.

 

당신의 사주를 봐 드립니다 1

태어난 해, 월, 일을 입력받아 사주팔자를 보는 프로그램을 작성하시오. 사주를 보는 방법) 세 수(년,월,일)가 주어지면,  (년 - 월 + 일)에 마지막 숫자가 0이면 "대박"을 출력, 그렇지 않으면 "그

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

이 문제에서 사용한 map을 사용한 입력 방식은 정말 많이 사용하는 입력 방식입니다.

이해하고 거의 외운 것 마냥 써봅시다.



어떤 수의 마지막 숫자 혹은 일의 자리 숫자를 구하는 방법은 이것저것 많겠지만,

나머지 연산자 %를 사용해 10으로 나눈 후의 나머지가 마지막 숫자 혹은 일의 자리 숫자라는 것을

이용하는 것이 가장 깔끔한 방법인 것 같습니다.




생각한 풀이 과정

  1. readline을 사용하기 위해 import 합니다.
  2. 년, 월, 일을 뜻하는 정수 세 개를 공백으로 구분해 입력합니다. 각각 정수형으로 변환하고, 변수 year, month, day에 넣어줍니다.
  3. 변수 year, month, day의 값을 이용해 (년 - 월 + 일)의 값을 구하고 (년 - 월 + 일)의 마지막 숫자를 뜻하는 (년 - 월 + 일)을 10으로 나눈 후의 나머지를 구해 변수 fate에 넣어줍니다.
  4. fate의 값이 0이라면, 문자열 "대박"을 출력합니다.
  5. 그렇지 않으면, 문자열 "그럭저럭"을 출력합니다.



 

 

 

 

 

 

제출한 파이썬 코드

# readline을 사용하기 위해 import합니다.
from sys import stdin


# 년, 월, 일을 공백으로 구분해 입력합니다.
# 각각 정수형으로 변환합니다.
year, month, day = map(int, stdin.readline().split())
# (년 - 월 + 일)의 마지막 숫자를 저장하는 변수를 선언합니다.
fate = (year - month + day) % 10

# 사주의 마지막 숫자가 0이라면
if fate == 0:
    # 대박을 출력합니다.
    print('대박')
# 그렇지 않으면
else:
    # 그럭저럭을 출력합니다.
    print('그럭저럭')

 

 

 

제출 결과

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글