백준 알고리즘 17362번

백준 알고리즘 17362번 수학은 체육과목 입니다 2

문제

이 사진을 기억하는가?

시험지 사진

이 사진은 오래전부터 인터넷에 돌아다니는 사진으로, 작년 전대프연 예선 A번에서는 수학을 정말 못 한느 고등학생인 성원이의 시험지로 소개되었다. 저작권이 있는 사진일 수 있어 알아보기 어렵게 가공했음을 양해 바란다.

예선 날짜가 다가오는데도 적당한 A번 문제를 생각하지 못한 출제진은 작년 전대프연 예선 A번을 응용해서 문제를 만들기로 했다. 이를 위해 사진 속 문제를 찾아본 출제진은 해당 문제가 2007학년도 6월 고등학교 1학년 전국연합학력평가 수리 영역 26번임을 알게 되었다.

시험지를 내려받고 문제들을 살펴보던 출제진은 아래와 같은 문제를 발견했다.

시험지 사진2

예상했겠지만, 여러분은 이제 위의 19번 문제 세 번째 줄에 등장하는 수 ‘1000’을 임의의 자연수로 바꾸었을 때 그에 해당하는 답을 출력하는 프로그램을 작성해야 한다.

입력

첫 번째 줄에 자연수 n (1 <= n <= 109)이 주어진다.

출력

첫 번째 줄에 19번 문제 세 번째 줄에 등장하는 수 ‘1000’을 자연수 n으로 바꾸었을 때 그에 해당하는 답의 번호를 출력한다. 즉, 1 이상 5 이하의 자연수 중 하나를 출력해야 한다.

예제

입력출력
33
10002

풀이

n = int(input())
n = n%8
if n == 1: 
  print(1)
elif n in [2, 0]:
  print(2)
elif n in [3, 7]:
  print(3)
elif n in [4, 6]:
  print(4)
elif n == 5:
  print(5)

엄지와 새끼손가락을 확인해보면 8씩 차이가 나는 것을 확인할 수 있다. 그렇기 때문에 입력받은 n을 8로 나눈 나머지 갓을 다시 n에 할당해준다.

  • 나머지 값 n이 1일 경우 엄지에 해당되기 때문에 1을 출력한다.
  • 나머지 값 n이 2 혹은 0일 경우 검지에 해당되며 2를 출력한다.
  • 나머지 값 n이 3 혹이 7일 경우 중지에 해당되며 3을 출력한다.
  • 나머지 값 n이 4 혹은 6일 경우 약지에 해당되며 4를 출력한다.
  • 모두 그렇지 않을 경우 새끼손가락에 해당되며 5를 출력한다.
* TOC {:toc}

© 2021. All rights reserved.