Notice
Recent Posts
Recent Comments
Link
코테 탈출일지
[백준] 1193번: 분수찾기 - 파이썬/python 본문
https://www.acmicpc.net/problem/1193
1193번: 분수찾기
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
www.acmicpc.net
접근 방식
- 경우의 수를 어떻게 나눌지 고민
코드 풀이
n = int(input())
base = 1
while n - base >= 0: # 음수가 나오지 않을 때까지
n -= base # 1, 2, 3 ... 순서대로 빼주며 몇번째 분수인지
base += 1 # 몇번째 줄에 있는지 확인
if base % 2 == 1: # 위 -> 아래 방향 탐색
if n == 0: # 딱 맞게 끝나는 경우는 따로 고려
print('{}/{}'.format(base-1, 1))
else:
print('{}/{}'.format(base-n+1, n))
else: # 아래 -> 위 방향 탐색
if n == 0: # 딱 맞게 끝나는 경우는 따로 고려
print('{}/{}'.format(1, base-1))
else:
print('{}/{}'.format(n, base-n+1))
몇 번째 줄인지를 계산할 수 있도록 base 변수를 만들었고, 몇 번째 분수인지를 계산할 수 있도록 나머지를 활용하여 n 변수를 활용했습니다. 처음에는 모두 위 -> 아래 대각선 방향으로 탐색을 하는 방식으로 코딩을 해서 오류가 났습니다. 하지만 짝수번째 줄인지, 혹은 홀수번째 줄인지에 따라 분수의 구성을 다르게 할 수 있도록 수정하였습니다.
'구현' 카테고리의 다른 글
[백준] 1476번: 날짜 계산 - 파이썬/python (0) | 2023.07.16 |
---|---|
[백준] 2740번: 행렬 곱셈 - 파이썬/python (0) | 2023.07.16 |
[백준] 1475번: 방 번호 - 파이썬/python (0) | 2023.07.08 |
[백준] 1158번: 요세푸스 문제 - 파이썬/python (0) | 2023.07.04 |
[백준] 10828번: 스택 - 파이썬/python (0) | 2023.07.04 |