[실버 4] 1940번 주몽

2025. 6. 19. 10:56·Coding Test/백준[JAVA]

문제

주몽은 철기군을 양성하기 위한 프로젝트에 나섰다. 그래서 야철대장을 통해 철기군이 입을 갑옷을 만들게 하였다. 야철대장은 주몽의 명에 따르기 위하여 연구에 착수하던 중 아래와 같은 사실을 발견하게 되었다.

갑옷을 만드는 재료들은 각각 고유한 번호를 가지고 있다. 갑옷은 두 개의 재료로 만드는데 두 재료의 고유한 번호를 합쳐서 M(1 ≤ M ≤ 10,000,000)이 되면 갑옷이 만들어 지게 된다. 야철대장은 자신이 만들고 있는 재료를 가지고 갑옷을 몇 개나 만들 수 있는지 궁금해졌다. 이러한 궁금증을 풀어 주기 위하여 N(1 ≤ N ≤ 15,000) 개의 재료와 M이 주어졌을 때 몇 개의 갑옷을 만들 수 있는지를 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고유한 번호들이 공백을 사이에 두고 주어진다. 고유한 번호는 100,000보다 작거나 같은 자연수이다.

 

출력

첫째 줄에 갑옷을 만들 수 있는 개수를 출력한다.

 

예제 입력 1

6
9
2 7 4 1 5 3

 

예제 출력 1

2

 


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

public class Main {
    public static void main (String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine()); // 재료의 개수
        int M = Integer.parseInt(br.readLine()); // 갑옷이 완성되는 번호의 합

        // 재료 추출
        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] arr = new int[N];
        for(int i=0; i<N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }
        
        Arrays.sort(arr);
        int count = 0;
        int i = 0; // 시작 인덱스
        int j = N - 1; // 종료 인덱스

        while(i < j) {
            if(arr[i] + arr[j] > M) j --;
            else if(arr[i] + arr[j] < M) i++;
            else {
                count++;
                i++;
                j--;
            }
        }
        
        System.out.println(count);

        br.close();
    }
}
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > 백준[JAVA]' 카테고리의 다른 글

[실버 3] 1463번 1로 만들기  (2) 2025.08.08
[골드 4] 1253번 좋다  (1) 2025.06.19
[실버 5] 2018번 수들의 합 5  (0) 2025.06.19
[골드 3] 10986번 나머지 합  (0) 2025.06.19
[실버 1] 11660번 구간 합 구하기 5  (1) 2025.06.18
'Coding Test/백준[JAVA]' 카테고리의 다른 글
  • [실버 3] 1463번 1로 만들기
  • [골드 4] 1253번 좋다
  • [실버 5] 2018번 수들의 합 5
  • [골드 3] 10986번 나머지 합
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    자바
    리눅스
    programmers
    pcce 기출문제
    baekjoon
    spring
    JPA
    프로그래머스
    DB
    플러터
    springboot
    CS
    python
    리눅스마스터 1급
    시큐리티
    백준
    데이터베이스
    데이터
    backjoon
    스프링부트
    Flutter
    postgresql
    Oracle
    Linux
    스프링 부트 쇼핑몰 프로젝트 with JPA
    리눅스마스터
    Java
    스프링
    CS지식
    Spring Security
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[실버 4] 1940번 주몽
상단으로

티스토리툴바