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 |