[백준 | 파이썬] 수학은 체육과목입니다 2

devheyrin·2022년 2월 9일
0

codingtest

목록 보기
7/65

문제

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

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

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

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

입력

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

출력

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

예제 입력 1

3

예제 출력 1

3

예제 입력 2

1000

예제 출력 2

2

Solution 1

n = int(input())

if (n-1) % 8 == 0:
    print(1)
elif (n-2) % 8 == 0 or n % 8 == 0:
    print(2)
elif (n-3) % 4 == 0:
    print(3)
elif (n-4) % 8 == 0 or (n-6) % 8 == 0:
    print(4)
elif (n-5) % 8 == 0:
    print(5)
  • 풀이 설명ㅣ 제시된 조건에 따라 숫자를 나열해보면 다음과 같은 규칙을 찾을 수 있다.
    # 1  2  3  4  5
    # 9  8  7  6  0
    # 0  10 11 12 13
    # 17 16 15 14 0
    # 0  18 19 20 21
    # 25 24 23 22 0
    # 0  26 27 28 29
    입력받은 숫자가 n이라고 할 때, (n-1) % 8 == 0 이면 첫 번째 손가락, (n-2) % 8 == 0 또는 n % 8 == 0 이면 두 번째 손가락, (n-3) % 4 == 0 이면 세 번째 손가락, (n-4) % 8 == 0 또는 (n-6) % 8 == 0 이면 네 번째 손가락, (n-5) % 8 == 0 이면 다섯 번째 손가락이 된다.
profile
개발자 헤이린

0개의 댓글