본문 바로가기
코딩테스트

[백준] 1484번 '다이어트' - Java

by CuckooBird 2023. 7. 25.

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

 

1484번: 다이어트

성원이는 다이어트를 시도중이다. 성원이는 정말 정말 무겁기 때문에, 저울이 부셔졌다. 성원이의 힘겨운 다이어트 시도를 보고만 있던 엔토피아는 성원이에게 새로운 저울을 선물해 주었다.

www.acmicpc.net


문제


코드

import java.io.*;

public class Main {
	private static final BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
	private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
	
	public static void main(String[] args) throws IOException {
		int g = Integer.parseInt(bf.readLine());
		
		int a = 1, b = 1;
		
		boolean flag = false;
		
		while(b < 100_000) {
			int dif = a*a - b*b;
			
			if(a-b == 1 && dif > g) break;
			
			if (dif > g) b ++;
			else if(dif < g) a ++;
			else {
				bw.write(a + "\n");
				flag = true;
				a ++;
			}
		}
		if(!flag) bw.write("-1");
		
		bf.close();
		bw.flush();
		bw.close();
	}
}

Math.pow 함수를 썼던 것 때문에 시간초과가 났었습니다..^_^;;

 


Search

https://loosie.tistory.com/731

https://veggie-garden.tistory.com/45

코드 참고하다가 100_000이라는 걸 봤는데 , 대신 쓰는 것 같더라고요. 100,000 을 코드쓸때는 100000으로 써야하는데 보기 쉽도록 바꾼 것입니다.