์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- dfs
- ๋ถํ ์ ๋ณต
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- Swift
- WebApp
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ฌธ์์ด
- ์์
- ๋ธ๋ฃจํธํฌ์ค
- dp
- ์คํ
- ๋ฐฑํธ๋ํน
- ์ฝํ
- ios
- Queue
- ์ฝ๋ฉํ ์คํธ
- ๋ฐฑ์ค
- ๋์ ํฉ
- BFS
- ๋นํธ์ฐ์ฐ์
- WebView
- ๋ถํ ์ ๋ณต
- ๋ถํ ํ์
- SwiftUI
- ์๊ณ ๋ฆฌ์ฆ
- ์ด์งํ์
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 8979๋ฒ: ์ฌ๋ฆผํฝ ๋ณธ๋ฌธ
๋ฌธ์ ๋งํฌ
8979๋ฒ: ์ฌ๋ฆผํฝ
์ ๋ ฅ์ ์ฒซ ์ค์ ๊ตญ๊ฐ์ ์ N(1 โค N โค 1,000)๊ณผ ๋ฑ์๋ฅผ ์๊ณ ์ถ์ ๊ตญ๊ฐ K(1 โค K โค N)๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ๊ฐ ๊ตญ๊ฐ๋ 1๋ถํฐ N ์ฌ์ด์ ์ ์๋ก ํํ๋๋ค. ์ดํ N๊ฐ์ ๊ฐ ์ค์๋ ์ฐจ๋ก๋๋ก ๊ฐ
www.acmicpc.net

๋ฌธ์
์ฌ๋ฆผํฝ์ ์ฐธ๊ฐ์ ์์๊ฐ ์๊ธฐ์ ๊ณต์์ ์ผ๋ก๋ ๊ตญ๊ฐ๊ฐ ์์๋ฅผ ์ ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋, ๋ง์ ์ฌ๋๋ค์ด ์์ ์ ๊ตญ๊ฐ๊ฐ ์ผ๋ง๋ ์ ํ๋์ง์ ๊ด์ฌ์ด ๋ง๊ธฐ ๋๋ฌธ์ ๋น๊ณต์์ ์ผ๋ก๋ ๊ตญ๊ฐ๊ฐ ์์๋ฅผ ์ ํ๊ณ ์๋ค. ๋ ๋๋ผ๊ฐ ๊ฐ๊ฐ ์ป์ ๊ธ, ์, ๋๋ฉ๋ฌ ์๊ฐ ์ฃผ์ด์ง๋ฉด, ๋ณดํต ๋ค์ ๊ท์น์ ๋ฐ๋ผ ์ด๋ ๋๋ผ๊ฐ ๋ ์ํ๋์ง ๊ฒฐ์ ํ๋ค.
- ๊ธ๋ฉ๋ฌ ์๊ฐ ๋ ๋ง์ ๋๋ผ
- ๊ธ๋ฉ๋ฌ ์๊ฐ ๊ฐ์ผ๋ฉด, ์๋ฉ๋ฌ ์๊ฐ ๋ ๋ง์ ๋๋ผ
- ๊ธ, ์๋ฉ๋ฌ ์๊ฐ ๋ชจ๋ ๊ฐ์ผ๋ฉด, ๋๋ฉ๋ฌ ์๊ฐ ๋ ๋ง์ ๋๋ผ
๊ฐ ๊ตญ๊ฐ๋ 1๋ถํฐ N ์ฌ์ด์ ์ ์๋ก ํํ๋๋ค. ํ ๊ตญ๊ฐ์ ๋ฑ์๋ (์์ ๋ณด๋ค ๋ ์ํ ๋๋ผ ์) + 1๋ก ์ ์๋๋ค. ๋ง์ฝ ๋ ๋๋ผ๊ฐ ๊ธ, ์, ๋๋ฉ๋ฌ ์๊ฐ ๋ชจ๋ ๊ฐ๋ค๋ฉด ๋ ๋๋ผ์ ๋ฑ์๋ ๊ฐ๋ค. ์๋ฅผ ๋ค์ด, 1๋ฒ ๊ตญ๊ฐ๊ฐ ๊ธ๋ฉ๋ฌ 1๊ฐ, ์๋ฉ๋ฌ 1๊ฐ๋ฅผ ์ป์๊ณ , 2๋ฒ ๊ตญ๊ฐ์ 3๋ฒ ๊ตญ๊ฐ๊ฐ ๋ชจ๋ ์๋ฉ๋ฌ 1๊ฐ๋ฅผ ์ป์์ผ๋ฉฐ, 4๋ฒ ๊ตญ๊ฐ๋ ๋ฉ๋ฌ์ ์ป์ง ๋ชปํ์๋ค๋ฉด, 1๋ฒ ๊ตญ๊ฐ๊ฐ 1๋ฑ, 2๋ฒ ๊ตญ๊ฐ์ 3๋ฒ ๊ตญ๊ฐ๊ฐ ๊ณต๋ 2๋ฑ, 4๋ฒ ๊ตญ๊ฐ๊ฐ 4๋ฑ์ด ๋๋ค. ์ด ๊ฒฝ์ฐ 3๋ฑ์ ์๋ค.
๊ฐ ๊ตญ๊ฐ์ ๊ธ, ์, ๋๋ฉ๋ฌ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์์, ์ด๋ ๊ตญ๊ฐ๊ฐ ๋ช ๋ฑ์ ํ๋์ง ์๋ ค์ฃผ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ ๋ ฅ์ ์ฒซ ์ค์ ๊ตญ๊ฐ์ ์ N(1 โค N โค 1,000)๊ณผ ๋ฑ์๋ฅผ ์๊ณ ์ถ์ ๊ตญ๊ฐ K(1 โค K โค N)๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ๊ฐ ๊ตญ๊ฐ๋ 1๋ถํฐ N ์ฌ์ด์ ์ ์๋ก ํํ๋๋ค. ์ดํ N๊ฐ์ ๊ฐ ์ค์๋ ์ฐจ๋ก๋๋ก ๊ฐ ๊ตญ๊ฐ๋ฅผ ๋ํ๋ด๋ ์ ์์ ์ด ๊ตญ๊ฐ๊ฐ ์ป์ ๊ธ, ์, ๋๋ฉ๋ฌ์ ์๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ์ ์ฒด ๋ฉ๋ฌ ์์ ์ดํฉ์ 1,000,000 ์ดํ์ด๋ค.
์ถ๋ ฅ
์ถ๋ ฅ์ ๋จ ํ ์ค์ด๋ฉฐ, ์ ๋ ฅ๋ฐ์ ๊ตญ๊ฐ K์ ๋ฑ์๋ฅผ ํ๋์ ์ ์๋ก ์ถ๋ ฅํ๋ค. ๋ฑ์๋ ๋ฐ๋์ ๋ฌธ์ ์์ ์ ์๋ ๋ฐฉ์์ ๋ฐ๋ผ์ผ ํ๋ค.
์๋ธํ์คํฌ
๋ฒํธ | ๋ฐฐ์ | ์ ํ |
1 | 8 | ์์ ์ ๋ ฅ, ์ถ๋ ฅ |
2 | 12 | N = 2 |
3 | 20 | ๋ชจ๋ ๊ตญ๊ฐ์ ์๋ฉ๋ฌ ๋ฐ ๋๋ฉ๋ฌ ํ๋ ์๋ 0 |
4 | 25 | N โค 500 |
5 | 35 | ์ถ๊ฐ์ ์ธ ์ ์ฝ ์กฐ๊ฑด์ ์๋ค. |
์์

์ฑ๊ณต ํ์ด
import Foundation
let NK = readLine()!.split { $0 == " " }.map { Int($0)! }, N = NK[0], K = NK[1]
var medals = [[Int]]()
for _ in 0..<N {
medals.append(readLine()!.split { $0 == " " }.map { Int($0)! })
}
medals.sort { // ์์ ์ ๋ ฌํ๊ธฐ
$0[1] == $1[1] ? $0[2] == $1[2] ? $0[3] > $1[3] : $0[2] > $1[2] : $0[1] > $1[1]
}
for i in 0..<N {
if medals[i][0] == K {
var index = i
while true {
guard index > 0 else {
print(1)
break
} // ์์ ๋ฉ๋ฌ๊ณผ ๊ฐ๋ค๋ฉด index -1 ํ๊ณ ๋ค์ while๋ฌธ ๋๋ฆฌ๊ธฐ
if medals[index-1][1...] == medals[index][1...] { index -= 1 }
else {
print(index+1)
break
}
}
break
}
}
ํ์ด ํค์๋
- ๊ธ,์,๋ ๋ฉ๋ฌ์ ๋ฐ๋ผ ์์๋ฅผ ์ ๋ฆฌํ ๋ค, K์ ์ธ๋ฑ์ค์์ ๋ถํฐ ์ ์์์ ๋ฉ๋ฌ ์๊ฐ ๊ฐ๋ค๋ฉด ์ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋ฅด๊ณ ๋ค์ ๋ฐ๋ณต ํฉ๋๋ค.
- ์ ์์์ ๋ฉ๋ฌ๊ณผ ์์ดํ ๋ฉ๋ฌ์ด ๋์ฌ ๋๊น์ง ๋ฐ๋ณตํ์ฌ, ์์ดํ ๋ฉ๋ฌ์ ์๊ฐ ๋์จ๋ค๋ฉด ํ์ฌ index์ +1(์ธ๋ฑ์ค๋ฅผ ๊ตฌํ๋๊ฒ ์๋๋ผ ์์๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์)ํ์ฌ ์ถ๋ ฅํฉ๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 2669๋ฒ: ์ง์ฌ๊ฐํ ๋ค๊ฐ์ ํฉ์งํฉ์ ๋ฉด์ ๊ตฌํ๊ธฐ (0) | 2023.07.17 |
---|---|
[swift] ๋ฐฑ์ค - 2740๋ฒ: ํ๋ ฌ ๊ณฑ์ (0) | 2023.07.17 |
[swift] ๋ฐฑ์ค - 1697๋ฒ: ์จ๋ฐ๊ผญ์ง (0) | 2023.07.13 |
[swift] ๋ฐฑ์ค - 1748๋ฒ: ์ ์ด์ด ์ฐ๊ธฐ 1 (0) | 2023.07.12 |
[swift] ๋ฐฑ์ค : 16974๋ฒ: ๋ ๋ฒจ ํ๋ฒ๊ฑฐ (0) | 2023.07.11 |