์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ์ด์งํ์
- ๋ฐฑ์ค
- ์์
- ์ฝ๋ฉํ ์คํธ
- ์คํ
- Swift
- ios
- dfs
- ๋ฌธ์์ด
- WebApp
- ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ์ ๋ณต
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ถํ ํ์
- WebView
- ๋ธ๋ฃจํธํฌ์ค
- ์ฝํ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- dp
- ๋ถํ ์ ๋ณต
- BFS
- ๋ฐฑํธ๋ํน
- SwiftUI
- ๋์ ํฉ
- Queue
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋นํธ์ฐ์ฐ์
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 1205๋ฒ: ๋ฑ์ ๊ตฌํ๊ธฐ ๋ณธ๋ฌธ
๋ฌธ์ ๋งํฌ
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) }
ํ์ด ํค์๋
- ๋ฌธ์ ๋ฅผ ๊ตฌํํด๋ด๋ ์๋ฎฌ๋ ์ด์ ๋ฌธ์ ์ ๋๋ค. ์ํ๋ ๋ต์ ์ถ๋ ฅํ๊ธฐ ์ํด ์ ์ฐจ์ ์ผ๋ก ์ฝ๋๋ฅผ ์ง๋ฉฐ ์กฐ๊ฑด์ ๋ฃ์ด์คฌ์ต๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 9655๋ฒ: ๋ ๊ฒ์ (0) | 2023.08.05 |
---|---|
[swift] ๋ฐฑ์ค - 1138๋ฒ: ํ ์ค๋ก ์๊ธฐ (0) | 2023.08.04 |
[swift] ๋ฐฑ์ค - 2870๋ฒ: ์ํ์์ (0) | 2023.08.03 |
[swift] ๋ฐฑ์ค - 20006๋ฒ: ๋ญํน์ ๋๊ธฐ์ด (0) | 2023.08.01 |
[swift] ๋ฐฑ์ค - 11655๋ฒ: ROT13 (0) | 2023.07.31 |