백준 알고리즘 17362번
백준 알고리즘 17362번 수학은 체육과목 입니다 2
문제
이 사진을 기억하는가?
이 사진은 오래전부터 인터넷에 돌아다니는 사진으로, 작년 전대프연 예선 A번에서는 수학을 정말 못 한느 고등학생인 성원이의 시험지로 소개되었다. 저작권이 있는 사진일 수 있어 알아보기 어렵게 가공했음을 양해 바란다.
예선 날짜가 다가오는데도 적당한 A번 문제를 생각하지 못한 출제진은 작년 전대프연 예선 A번을 응용해서 문제를 만들기로 했다. 이를 위해 사진 속 문제를 찾아본 출제진은 해당 문제가 2007학년도 6월 고등학교 1학년 전국연합학력평가 수리 영역 26번임을 알게 되었다.
시험지를 내려받고 문제들을 살펴보던 출제진은 아래와 같은 문제를 발견했다.
예상했겠지만, 여러분은 이제 위의 19번 문제 세 번째 줄에 등장하는 수 ‘1000’을 임의의 자연수로 바꾸었을 때 그에 해당하는 답을 출력하는 프로그램을 작성해야 한다.
입력
첫 번째 줄에 자연수 n (1 <= n <= 109)이 주어진다.
출력
첫 번째 줄에 19번 문제 세 번째 줄에 등장하는 수 ‘1000’을 자연수 n으로 바꾸었을 때 그에 해당하는 답의 번호를 출력한다. 즉, 1 이상 5 이하의 자연수 중 하나를 출력해야 한다.
예제
입력 | 출력 |
---|---|
3 | 3 |
1000 | 2 |
풀이
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를 출력한다.