Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 고등학교에서 살아남기
- 클론코딩
- 개발자
- 노마드코더
- 예약사이트
- 살려주세요
- 코뮤니터_코딩챌린지
- 동아리
- 대회
- 코딩
- 설정
- 파이썬 #프로그래밍 #학생
- 알고리즘은 너무나도 행복하다
- 모각코
- 실리콘밸리
- 파이어베이스
- c #c언어 #포인터 #코딩 #프로그래밍 #코딩이 진리다 #개발자
- C언어 #포인터 #배열 #코딩 #개발 #프로그래밍
- 코코아클론
- 꾸준함
- 코뮤니티_코딩챌린지
- 회고
- 백준
- 코뮤니티
- 파이썬
- 알고리즘
- 화이팅
- 아두이노
- 검색알고리즘
- 니콜라스
Archives
- Today
- Total
wau2380's playground
[백준/BaekJoon] 1193번 : 분수찾기(파이썬) 본문
문제
무한히 큰 배열에 다음과 같이 분수들이 적혀있다.
1/1 | 1/2 | 1/3 | 1/4 | 1/5 | … |
2/1 | 2/2 | 2/3 | 2/4 | … | … |
3/1 | 3/2 | 3/3 | … | … | … |
4/1 | 4/2 | … | … | … | … |
5/1 | … | … | … | … | … |
… | … | … | … | … | … |
이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.
X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
출력
첫째 줄에 분수를 출력한다.
풀이
이것도 꽤나 고생을 했다. 그냥 이쯤되면 고생을 밥먹듯이 한다.
다른 풀이들을 보았지만 사실 이해가 잘안됬고, 코드를 보면서 겨우 이해했다. 쉽게 풀어쓰겠다.(짝수는 위, 홀수는 아래)
분자는 짝수번째 대각선에서 위로 증가, 홀수번쨰 대각선에서 아래로 증가. 분모는 분자의 반대방향으로 이루어짐.
분자를 구한 후, 줄 + 1에서 분자를 뺀 값이 바로 분모입니다.
코드
n = int(input()); i = 1
while n > i: #i번째 줄 구하기
n -=i
i+=1
if i%2 == 1:
print(f"{i+1-n}/{n}")
else:
print(f"{n}/{i+1-n}")
'Algorithm > 백준 단계별로 풀어보기' 카테고리의 다른 글
[백준/BaekJoon] 10250번 : ACM 호텔(파이썬) (0) | 2021.09.08 |
---|---|
[백준/BaekJoon] 2869번 : 달팽이는 올라가고 싶다(파이썬) (코뮤니티 코딩 챌린지) (1) | 2021.09.05 |