[백준] 주몽 (1940)

문제 설명

백준 1940번 문제 링크

입력 및 출력

» 입력

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

» 출력

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

예제 입출력(테스트케이스)

입력 출력
6
9
2 7 4 1 5 3
2

문제 풀이(SWIFT) 1

//
//  main.swift
//  BOJ1940_SWIFT
//
//  Created by choiyoujun on 2022/02/07.
//

let N = Int(readLine()!)!
let M = Int(readLine()!)!
let list = readLine()!.split(separator: " ").map { Int($0)! }.sorted()

var left = 0
var right = list.count - 1
var count = 0

while left < right {
    if list[left] + list[right] == M {
        count += 1
        left += 1
        right -= 1
        
        continue
    }
    
    if list[left] + list[right] < M {
        left += 1
    } else {
        right -= 1
    }
}

print(count)

태그:

카테고리:

업데이트: