Doby's Lab

백준 17362번: 수학은 체육과목 입니다 2 (Python) 본문

PS/BOJ

백준 17362번: 수학은 체육과목 입니다 2 (Python)

도비(Doby) 2022. 7. 26. 23:46

https://www.acmicpc.net/problem/17362

 

17362번: 수학은 체육과목 입니다 2

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

www.acmicpc.net


Solved By: Math

 

카테고리가 수학이라 하기엔 제 풀이 방법으로는 좀 애매했습니다. 12 정도까지 했을 때, 나오는 값들 노트에 적어봤습니다. 적어보니 하나의 패턴이 보였습니다.

 

1 ~ 8까지 '1 2 3 4 5 4 3 2'가 반복되었고, 9 ~ 17까지도 마찬가지입니다. 이 패턴을 활용하기 위해 나머지 연산을 사용하여 문제를 풀 수 있었습니다.

 

크게 어려운 문제이지 않음에도 포스팅을 한 이유는 패턴이 있음을 인지하는 것이 솔루션인 문제는 거의 처음이었기 때문입니다. 문제를 푸는 솔루션 중 하나인 '패턴 인지'에 대해 기억하고, 소개해드릴 겸 올리고 싶었습니다.

n = int(input())
c = n % 8

if c <= 5 and c >= 1:
    print(c)
else:
    if c == 6:
        print(4)
    elif c == 7:
        print(3)
    else:
        print(2)

 

728x90

'PS > BOJ' 카테고리의 다른 글

백준 2857번: FBI (C++)  (0) 2022.07.30
백준 4779번: 칸토어 집합 (C++)  (0) 2022.07.30
백준 13237번: Binary tree (C++)  (0) 2022.07.24
백준 2210번: 숫자판 점프 (C++)  (0) 2022.07.24
백준 17103번: 골드바흐 파티션 (C++)  (0) 2022.07.24