알고리즘/백준

3649_로봇 프로젝트

베리영young 2024. 8. 10. 18:58

사용 알고리즘: 투 포인터

사용 언어: java

 

package week11;

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

public class Main_bj_3649_로봇프로젝트 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String s = null;
		
		while ((s = br.readLine()) != null && !s.isEmpty()) { // 입력 어캄

			long x = Integer.parseInt(s) * 10000000; // x cm -> ㅡ\nm로 변환
			int n = Integer.parseInt(br.readLine()); // 레고 조각수
			long[] lego = new long[n];
			for (int i = 0; i < n; i++) {
				lego[i] = Integer.parseInt(br.readLine());
			}
			Arrays.sort(lego);
			//

			boolean block = false;
			// 인덱스
			int left = 0;
			int right = n - 1;

			while (left < right) {
				long sum = (lego[left] + lego[right]);

				if (sum == x) {
					block = true;
					break;
				}

				if (sum < x) {
					left++;
				} else {
					right--;
				}
			}
			// 출력
			if (!block)
				System.out.println("danger");
			else
				System.out.println("yes " + lego[left] + " " + lego[right]);
			
			s = null;

		}

	}

}

 

eof 에러 해결하느라 아주 힘들었다.

&& !s.isEmpty() 를 넣으면 된다

'알고리즘 > 백준' 카테고리의 다른 글

1068_트리  (0) 2024.08.14
20166_문자열 지옥에 빠진 호석  (1) 2024.08.12
4358_생태학  (0) 2024.08.10
1189_컴백 홈  (0) 2024.08.07
1034_램프 ****  (0) 2024.08.04