코딩 테스트/JAVA - 백준 단계별로 풀어보기

[백준 Java] 일반 수학 1 - 1193번: 분수찾기

kms152000 2025. 2. 16. 07:13

 

 

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int X = Integer.parseInt(br.readLine());

        int cross_count = 1; // 현재 대각선의 분수 개수
        int count_sum = 0; // 이전 대각선까지의 합

        while (true) {
            if (X <= count_sum + cross_count) {
                if (cross_count % 2 == 1) { // 대각선의 분수 개수가 짝수
                    bw.write((cross_count - (X - count_sum - 1)) + "/" + (X - count_sum) + "\n");
                }
                else { // 대각선의 분수 개수가 홀수
                    bw.write((X - count_sum) + "/" + (cross_count - (X - count_sum - 1)) + "\n");
                }
                break;
            }
            else {
                count_sum += cross_count;
                cross_count++;
            }
        }

        br.close();
        bw.flush();
        bw.close();
    }
}