![[백준 / BOJ] 1193번 분수찾기 (C++, Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmqSad%2FbtrJj5q25TY%2FidZdNlySkiJIfxTWXqObk0%2Fimg.png)
[백준 / BOJ] 1193번 분수찾기 (C++, Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 2. 1. 17:19
Table of Contents
반응형
링크 : https://www.acmicpc.net/problem/1193
1193번: 분수찾기
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
www.acmicpc.net
문제

문제 풀이
문제가 조금 헷갈리게 적혀있다. 아래 사진처럼의 지그재그로 이해하면 될 듯 하다.

C++ 코드 전문
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
int main() { | |
int N; | |
cin >> N; | |
// 1, 23, 456, 78910 등 1씩 크기가 늘어나므로 어디에 속하는지 찾기 위함 | |
int val = 1; | |
while (N > val) { | |
N -= val; | |
val++; | |
} | |
// 홀수 대각선에선 분자가 아래로 증가, 짝수 대각선에선 위로 증가 | |
if (val % 2 == 0) | |
cout << N << '/' << val + 1 - N << "\n"; | |
else | |
cout << val + 1 - N << '/' << N << "\n"; | |
} |
Python 코드 전문
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
N = int(input()) | |
val = 1 | |
while N > val: | |
N -= val | |
val += 1 | |
if val % 2 == 0: # 짝수일 시 | |
print(f"{N}/{val + 1 - N}") | |
else: | |
print(f"{val + 1 - N}/{N}") |
소감
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 10250번 ACM 호텔 (C++, Python) (0) | 2022.02.03 |
---|---|
[백준 / BOJ] 2869번 달팽이는 올라가고 싶다 (C++, Python) (0) | 2022.02.01 |
[백준 / BOJ] 2292번 벌집 (C++, Python) (0) | 2022.01.18 |
[백준 / BOJ] 1712번 손익분기점 (C++, Python) (0) | 2022.01.18 |
[백준 / BOJ] 1316번 그룹 단어 체커 (C++, Python) (0) | 2022.01.17 |
@Reo :: 코드 아카이브
자기계발 블로그