새소식

💻 Computer/🐘 Algorithm

[Algorithm] 백준 1193 분수찾기

  • -

 

내가 생각한 규칙

1. 대각선의 줄을 카운트한 것이 홀수면 대각선 위로 방향,  짝수면 대각선 아래 방향으로 간다

나의 코드 (틀린다고 나옴)
import java.io.*;

public class Problem_1193 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int X = Integer.parseInt(br.readLine());
		int count = 0, round = 0;

		if (X == 1) {
			System.out.println("1/1");
		}

		for (int i = 2; i <= X; i++) {
			if ((i * (i + 1)) / 2 >= X) {
				round = i;
				count = (((i - 1) * i) / 2);
				break;
			} else
				continue;
		}
		int num1 = X - count;
		int num2 = ((round * (round + 1)) / 2) - X + 1;

		if (round % 2 == 1)
			System.out.printf("%d/%d", num2, num1);
		else
			System.out.printf("%d/%d", num1, num2);

		br.close();
	}
}

분명 답은 다 맞았는데 99%에서 틀렸다고 하니....

그래서 나는 주저하지 않고 풀이를 보았다.

사실 조금 주저 했다 양심에 찔려서

 

다른 분의 코드

밑의 코드가 나의 생각 10% 추가한 풀이이다.

import java.io.*;

public class Problem_1193 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int X = Integer.parseInt(br.readLine());

		int before_cnt = 0, know_cnt = 1;

		while (true) {
			if (X <= before_cnt + know_cnt) {
				int a = (before_cnt + know_cnt) - X;
				// 홀수
				if (know_cnt % 2 == 1) {
					System.out.println((1 + a) + "/" + (know_cnt - a));
				} else {
					System.out.println((know_cnt - a) + "/" + (1 + a));
				}
				break;
			} else {
				before_cnt += know_cnt;
				know_cnt++;
			}
		}
	}
}

양심에 찔려 하는 말이지만 내가 본 게시물의 정답 코드를 딱 진짜 따아아악 홀수 짝수 나누고 어떨 때 누적을 더하는지까지...

(사실 이정도면 다 봤다고 해도 할 말 없지만..)

 

참고한 게시물

1. https://st-lab.tistory.com/74

 

[백준] 1193번 : 분수찾기 - JAVA [자바]

https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 문제 분수를 찾는 것 자체는 그렇게 어려운 문제는 아니다. 다만 순서에 유의하여야 한..

st-lab.tistory.com

'💻 Computer > 🐘 Algorithm' 카테고리의 다른 글

[Algorithm] 2839 설탕 배달  (0) 2022.08.11
[Algorithm] Fibonacci  (0) 2022.08.08
[Algorithm] 백준 1712 - 손익분기점  (0) 2022.08.04
[Algorithm] 백준 1316  (0) 2022.08.03
[Algorithm] 백준 2941  (0) 2022.08.03
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.