📌 고정 게시글

📢 공지합니다

이 게시글은 메인 페이지에 항상 고정되어 표시됩니다.

최코딩의 개발

[백준 1253번] 좋다 본문

코딩테스트/백준

[백준 1253번] 좋다

seung_ho_choi.s 2025. 6. 8. 00:30
728x90

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

 

package datastructure;

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

public class Data1253 {
    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 []num = new int[N];
        st = new StringTokenizer(br.readLine());
        for(int i=0; i<N; i++){
            num[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(num);
        int result =0;
        for(int i=0; i<N; i++){
            int left =0;
            int right =N-1;
            int sum = num[i];
            while(left < right){
                int target = num[left] + num[right];
                if(sum == target){
                    if(left !=i && right !=i){ // 문제 조고너이 어떤 수가 다른 수 두개의 합임 즉 내 자신이 나를 선택할 수 없음!
                        result++;
                      break;
                    }else if(left == i){
                        left ++; // 0 0 0 0 일때 i가 1번째 이고 left랑 right 가 1번쨰 3번째일떄 left는 자신의 것을 쓸 수 없어 업!
                    }else{
                        right--; // 0 0 4 4 일때 i가 3번째 이고 left랑 right가 각각 0번쨰 3번째일떄 right는 자신의 것을 쓸 수 없으므로 다운
                    }
                }else if(sum > target){
                    left++;
                }else{
                    right--;
                }
            }
        }

        System.out.println(result);

    }
}

 

이게 골드 문제 맞음??? ㅋㅋㅋ 

문제 핵심 내용은 주석처리 해놓았다.

728x90

'코딩테스트 > 백준' 카테고리의 다른 글

[백준 17140번] 이차원 배열과 연산  (1) 2025.06.09
[백준 17142번] 연구소3  (0) 2025.06.09
[백준 15486번] 퇴사2  (1) 2025.06.07
[백준 17144번] 미세먼지 안녕!  (1) 2025.06.06
[백준 16236번] 아기 상어  (1) 2025.06.05