본문 바로가기

Algorithm

[Java]백준 1193번 문제 '분수 찾기'

저는 요즘 쉬운 알고리즘 문제를 찾아서 하고 있습니다

거부감이나 두려움??그런 것들을 없애기 위해 쉬운 문제부터 풀고 있습니다

 

예전에 제가 수학을 못 할때 쉬운 문제를 풀면서 멘탈을 잡았 거든요

그래서 그 느낌으로 풀었습니다

 

이 문제도 쉬운 문제입니다

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

 

1193번: 분수찾기

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

www.acmicpc.net

 

 

이 문제는 일단 지그재그라는 특성과 사선으로 분모와 분자가 증가하거나 감소한다는 특성이 있습니다

일단 지그재그를 풀어보자면,

첫번째 세로 줄을 기준으로 분자가 짝수이면 사선이 밑으로 가고,

홀수이면 위로 올라가는 사선입니다

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		
		int num = scan.nextInt();
		int i;
		
		for(i = 0 ; num > i; i++) {
			num = num - i;
		}
		if(i%2 == 1) {
			System.out.printf("%d/%d", i-(num-1),num);
		}else{
			System.out.printf("%d/%d", num, i-(num-1));
		}
	}

}

그래서 이렇게 간단한 코드로 문제가 해결됩니다