본문 바로가기
알고리즘/백준

백준 1193 분수 찾기 자바

by reumiii 2019. 10. 31.
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
		int n = sc.nextInt(); // 주어진 수 N
		int num = 0; // 대각선 줄
		int sum = 0; // 대각선 줄의 마지막 번호
		String result = ""; // 결과

		while (true) {
			num++;
			sum += num;
			if (sum >= n) {// n이 대각선줄의 마지막 번호보다 작으면 그 대각선줄에 속하는 번호임!
				break;
			}
		}

		int dif = sum - n; // 마지막 번호와의 차이
		int left = 0; // 분자
		int right = 0; // 분모

		// 대각선 줄이 짝수일때랑 홀수일때 분수의 규칙이 다름
		if (num % 2 == 0) {
			left = num - dif;
			right = 1 + dif;
			result = left + "/" + right;
		} else {
			left = 1 + dif;
			right = num - dif;
			result = left + "/" + right;
		}

		System.out.println(result);
    }
}

댓글