MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ - 1205๋ฒˆ: ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/BAEKJOON

[swift] ๋ฐฑ์ค€ - 1205๋ฒˆ: ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ

MUKER 2023. 8. 3. 13:20
๋ฌธ์ œ ๋งํฌ
 

1205๋ฒˆ: ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— N, ํƒœ์ˆ˜์˜ ์ƒˆ๋กœ์šด ์ ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  P๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. P๋Š” 10๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜, N์€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , P๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์ ์ˆ˜๋Š” 2,000,000,000๋ณด

www.acmicpc.net


๋ฌธ์ œ

ํƒœ์ˆ˜๊ฐ€ ์ฆ๊ฒจํ•˜๋Š” ๋””์ œ์ด๋งฅ์Šค ๊ฒŒ์ž„์€ ๊ฐ๊ฐ์˜ ๋…ธ๋ž˜๋งˆ๋‹ค ๋žญํ‚น ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค๋ฒˆ ๊ฒŒ์ž„ํ•  ๋•Œ ๋งˆ๋‹ค ์–ป๋Š” ์ ์ˆ˜๊ฐ€ ๋น„์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์ด ๋žญํ‚น ๋ฆฌ์ŠคํŠธ์˜ ๋“ฑ์ˆ˜๋Š” ๋ณดํ†ต ์œ„์—์„œ๋ถ€ํ„ฐ ๋ช‡ ๋ฒˆ์งธ ์žˆ๋Š” ์ ์ˆ˜์ธ์ง€๋กœ ๊ฒฐ์ •ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐ™์€ ์ ์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๊ทธ๋Ÿฌํ•œ ์ ์ˆ˜์˜ ๋“ฑ์ˆ˜ ์ค‘์— ๊ฐ€์žฅ ์ž‘์€ ๋“ฑ์ˆ˜๊ฐ€ ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋žญํ‚น ๋ฆฌ์ŠคํŠธ๊ฐ€ 100, 90, 90, 80์ผ ๋•Œ ๊ฐ๊ฐ์˜ ๋“ฑ์ˆ˜๋Š” 1, 2, 2, 4๋“ฑ์ด ๋œ๋‹ค

๋žญํ‚น ๋ฆฌ์ŠคํŠธ์— ์˜ฌ๋ผ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜์˜ ๊ฐœ์ˆ˜ P๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ ์ˆ˜ N๊ฐœ๊ฐ€ ๋น„์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง€๊ณ , ํƒœ์ˆ˜์˜ ์ƒˆ๋กœ์šด ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ํƒœ์ˆ˜์˜ ์ƒˆ๋กœ์šด ์ ์ˆ˜๊ฐ€ ๋žญํ‚น ๋ฆฌ์ŠคํŠธ์—์„œ ๋ช‡ ๋“ฑ ํ•˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋งŒ์•ฝ ์ ์ˆ˜๊ฐ€ ๋žญํ‚น ๋ฆฌ์ŠคํŠธ์— ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๋‚ฎ๋‹ค๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

๋งŒ์•ฝ, ๋žญํ‚น ๋ฆฌ์ŠคํŠธ๊ฐ€ ๊ฝ‰ ์ฐจ์žˆ์„ ๋•Œ, ์ƒˆ ์ ์ˆ˜๊ฐ€ ์ด์ „ ์ ์ˆ˜๋ณด๋‹ค ๋” ์ข‹์„ ๋•Œ๋งŒ ์ ์ˆ˜๊ฐ€ ๋ฐ”๋€๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N, ํƒœ์ˆ˜์˜ ์ƒˆ๋กœ์šด ์ ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  P๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. P๋Š” 10๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜, N์€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , P๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์ ์ˆ˜๋Š” 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ํ˜„์žฌ ๋žญํ‚น ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ ์ˆ˜๊ฐ€ ๋น„์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์€ N์ด 0๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์—๋งŒ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ


์„ฑ๊ณต ํ’€์ด

import Foundation

let input = readLine()!.split { $0 == " " }.map { Int($0)! }
let N = input[0], score = input[1], P = input[2]
var arr = [Int](), result = -1

if N > 0 {
    arr += readLine()!.split { $0 == " " }.map { Int($0)! }
    let  dic = Dictionary(grouping: arr, by: { $0 }).mapValues { $0.count }
    
    for i in 0..<arr.count {
        if score >= arr[i] {
            if score == arr[i] && i+dic[arr[i]]! >= P { break }
            else { result = i+1; break }
        }
    }
    
    if result == -1 && P > N { result = N+1 }
    print(result)
    
} else { print(1) }

ํ’€์ด ํ‚ค์›Œ๋“œ

  • ๋ฌธ์ œ๋ฅผ ๊ตฌํ˜„ํ•ด๋‚ด๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๋‹ต์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์ ˆ์ฐจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉฐ ์กฐ๊ฑด์„ ๋„ฃ์–ด์คฌ์Šต๋‹ˆ๋‹ค.