Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ChatGPT
- 우분투
- SW Expert Academy
- Docker
- leetcode
- hackerrank
- 편스토랑 우승상품
- Real or Not? NLP with Disaster Tweets
- Baekjoon
- 맥북
- ubuntu
- 코로나19
- 금융문자분석경진대회
- 더현대서울 맛집
- dacon
- 캐치카페
- gs25
- 편스토랑
- programmers
- 프로그래머스
- PYTHON
- Git
- AI 경진대회
- 데이콘
- 자연어처리
- github
- Kaggle
- 프로그래머스 파이썬
- 백준
- 파이썬
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 1193번 : 분수찾기 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 분수찾기 입니다.
👨🏻💻 문제풀이
입력 받은 X에서 1부터 1씩 증가시킨 값을 빼줍니다.
계속 값을 빼주다가 X 가 빼려는 값보다 작을 경우 멈춰줍니다.
while X > line: X -= line line += 1
그러면 이때 빼려고 했던 값이 몇번째 라인인지를 판단할 수 있는 값 입니다.
그럼 그 값을 활용하여 분모가 될 값, 분자가 될 값 숫자 목록을 만들어 줍니다.
하나 목록은 1~라인 번호 / 하나는 라인번호~1 로 만들어줍니다.
range_num_1 = list(range(1, line+1)) range_num_2 = range_num_1[::-1]
짝수 번째 라인일 경우에는
분자를 1~라인번호 목록에서 X-1 번째 값을 분모를 라인번호~1 목록에서 X-1번째 값을
홀수 번째 라인일 경우에는
분자를 라인번호~1 목록에서 X-1 번째 값을 분모를 1~라인번호 목록에서 X-1번째 값을
if line % 2 == 0: answer = f"{range_num_1[X-1]}/{range_num_2[X-1]}" else: answer = f"{range_num_2[X-1]}/{range_num_1[X-1]}"
정답으로 합니다.
👨🏻💻 코드 ( Solution )
def find_fraction(X):
line = 1
while X > line:
X -= line
line += 1
range_num_1 = list(range(1, line+1))
range_num_2 = range_num_1[::-1]
if line % 2 == 0:
answer = f"{range_num_1[X-1]}/{range_num_2[X-1]}"
else:
answer = f"{range_num_2[X-1]}/{range_num_1[X-1]}"
return answer
if __name__ == "__main__":
X = int(input())
print(find_fraction(X))
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 2896번 : 무알콜 칵테일 (Python) (0) | 2022.06.11 |
---|---|
[BaekJoon] 4659번 : 비밀번호 발음하기 (Python) (0) | 2022.06.09 |
[BaekJoon] 10807번 : 개수 세기 (Python) (0) | 2022.06.06 |
[BaekJoon] 23037번 : 5의 수난 (Python) (0) | 2022.06.05 |
[BaekJoon] 16468번 : 운동장 한 바퀴 (Python) (0) | 2022.06.04 |
Comments