백준 1193 JAVA Solution

문제


설명

i) X를 입력으로 사용합니다. 하나의 대각선을 선이라고 하며, 그것이 어느 선에 있는지를 읽습니다.

i) 줄 번호를 알고 있으면 해당 줄의 요소 번호를 읽습니다.

ii) 대각선이 짝수만큼 감소하면 분모가 크게 시작하고 대각선이 홀수만큼 감소하면 분자가 크게 시작됩니다.

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String args())throws IOException{
        Scanner scan= new Scanner(System.in);
        int X=scan.nextInt();
        int i=1;
        int n=0;
        while(true){
            if(i*(i+1)/2>=X){
                X=X-i*(i-1)/2; //n번째 줄까지의 갯수를 뺀것
                n=i;
                break;
            }
            i++;
        }
        //짝수 줄이면 분모가 크게 시작하고 홀수 줄이면 분자가 크게 시작
        if(n%2==1){
            System.out.print((n+1-X)+"/"+(X));
        }
        else{
            System.out.print((X)+"/"+(n+1-X));
        }
    }
}

피드백

간단해서 대충 생각해보고 코딩을 시작했습니다.