BOJ_2467_용액_java

2023. 1. 12. 16:01Algorithm/BOJ

728x90

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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

/**
 백준 2467번 용액
 골드 5
*/
public class BOJ_2467_용액 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;

        int N = Integer.parseInt(br.readLine());
        int[] spec = new int[N];
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i<N; i++){
            spec[i] = Integer.parseInt(st.nextToken());
        }
        solution(spec);
    }

    public static void solution(int[] spec){
        int left = 0;
        int right = spec.length -1;
        int n1 = 0, n2 = 0;
        int min = Integer.MAX_VALUE;

        while (left < right){
            if(spec[left] + spec[right] == 0){ // 0이면 종료
                n1 = spec[left];
                n2 = spec[right];
                break;
            }
            if(Math.abs(spec[left] + spec[right]) <= min){ // 갱신
                n1 = spec[left];
                n2 = spec[right];
                min = Math.abs(spec[left] + spec[right]);
            }
            if(spec[left] + spec[right] > 0){ // 양수인경우
                right = right -1; // 양수를 작게
            }else{ // 음수인 경우
                left = left + 1; // 음수를 작게
            }
        }
        System.out.println(n1 + " " + n2);
    }
}

'Algorithm > BOJ' 카테고리의 다른 글

BOJ_9252_LCS 2_java  (0) 2023.01.13
BOJ_1806_부분합_java  (0) 2023.01.12
BOJ_2166_다각형의면적_java  (0) 2023.01.11
BOJ_12852_1로 만들기 2_java  (0) 2023.01.10
BOJ_14938_서강그라운드_java  (0) 2023.01.09