본문 바로가기
코딩공부/백준 (java)

[백준 1193] 분수찾기 (java)

by CodingKwon 2021. 7. 26.

문제 링크

https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net

 

나의 코드 (java)

import java.util.Scanner;

public class Main {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);

        // 입력값
        int n = sc.nextInt();
        // 누적 합을 계산할 변수
        int cal = 0;
        // 누적 합을 위한 변수
        int cnt = 0;

        // 누적 합이 입력값보다 커질 때까지 계산
        while (n > cal){
            cnt++;
            cal += cnt;
        }

        // 누적합(가장 큰 값) - 입력값
        int gap = cal - n;

        if (cnt % 2 == 0){
            // 짝수 라인일 때
            System.out.println((cnt-gap) + "/" + (gap+1));
        } else {
            // 홀수 라인일 때
            System.out.println((gap+1) + "/" + (cnt-gap));
        }
    }
}

 

이 문제는 라인이 짝수 라인인지 홀수 라인인지에 따라 값이 다르게 나옵니다.

 

댓글