일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- PS
- 24511
- 파이썬
- 11688
- 9081
- PYTHON
- 20006
- java
- 15965
- 프로그래머스
- 17087
- 백준
- 알고리즘
- pccp
- 장고
- sovled.ac
- 23971
- Algorithm
- 25379
- sloved.ac
- SWEA
- 라이브러리
- 6730
- 2866
- programmers
- 사용자정의필터
- 1342
- Django
- solved.ac
Archives
- Today
- Total
코깽이의 코딩일기
SWEA 11688. Calkin-Wilf tree 1 본문
반응형
Link
문제

내가 제출한 코드
from math import gcd
t = int(input())
for i in range(1, t+1):
a = 1
b = 1
t = list(input())
for j in t:
if j == "L":
b = a+b
elif j == "R":
a = a+b
check = gcd(a, b)
a = int(a/check)
b = int(b/check)
print("#{} {} {}".format(i, a, b))
생각해낸 로직
1. input값을 list나 str 형식으로 받고 하나씩 순회한다.
2. L과 R인지 판별하는 if문을 이용해서 a와 b의 값을 변경시킨다.
3. a,b를 기약분수로 만든다. 해당 과정에서 python math 라이브러리에 있는 gcd() 함수를 이용해서 최대 공약수를 구한다.
4. 최대 공약수로 a,b를 각각 나눠주고 원하는 출력형식인 int타입으로 형변환을 진핸다.
반응형
'PS > SWEA' 카테고리의 다른 글
SWEA 5658. [모의 SW 역량테스트] 보물상자 비밀번호 (0) | 2024.05.02 |
---|---|
SWEA 2115. [모의 SW 역량테스트] 벌꿀채취 (0) | 2024.04.30 |
SWEA 2117. [모의 SW 역량테스트] 홈 방범 서비스 (0) | 2024.04.30 |
SWEA 6730. 장애물 경주 난이도 (0) | 2023.11.10 |
SWEA 2050. 알파벳을 숫자로 변환 (0) | 2023.11.02 |