2022. 11. 9. 11:28ใAlgorithm
๋ฐฑ์ค - ๋ฉ์น(Swift)
๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/7568
๋์ ํ์ด
๋ฌธ์ ๋ฅผ ์ ์ฝ์ผ๋ฉด ์ฌ์ด ๋ฌธ์ ์ด์ง๋ง ๋ฌธ์ ๋ฅผ ์ ์ฝ์ง์๊ณ ํ์ด์ ๊ต์ฅํ ๋์์ ๊ฐ๋ค.
์ด ๋ฌธ์ ์ ํต์ฌ์ ์์ ๋ณด๋ค ๋ "ํฐ ๋ฉ์น"์ ์ฌ๋์ ์๋ก ์ ํด์ง๋ค. ์ธ๋ฐ ๋๋ ์ด๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ 2๋ฑ์ด ์ฌ๋ฌ๋ช ๋์๋ค๋ฉด ๋ค์ ๋ฑ์๋ ์ฌ๋ฌ๋ช ์ ๊ณ ๋ คํ ๊ฐ์ผ๋ก ๊ตฌํ์๋ค.์ฆ 1 2 2 3์ด ๋์ฌ ์ ์๋๋ฐ 1 2 2 4๋ก ๋จ์ ์ง์ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ฒ์์๋ ์ฌ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ค์ด์ prize๋ฅผ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๋ง๋ค์๋๋ฐ ์์ ํ ํ์ง์์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ์ ์ ๋ ฅ์กฐ๊ฑด์ 50์ดํ์ธ๋ฐ ์ด ๋ถ๋ถ์ ๋ณด๊ณ ์์ ํ์์ ์ฌ์ฉํด๋ ๋๊ฒ ๊ตฌ๋๋ฅผ ์ง๊ฐ์ ์ผ๋ก ์์์ด์ผ ํ๋ค. ์ ๋ถ ํ์ํ๋ฉด์ ์์ ๋ณด๋ค ๋ฉ์น๊ฐ ํฐ ์ฌ๋์ ๋ํด์๋ง ์นด์ดํธ๋ฅผ ํ๋ ์๋ฒฝํ ๊ตฌํ๋ฌธ์ ์๋ ๊ฒ์ด๋ค.๊ทธ๋ ๊ฒ๋๋ฉด ์๋์ ๊ฐ์ด ๊ฐ๋จํ ํ์ด๊ฐ ๋๋ค.
์ ์ฒ์๋ถํฐ ์ ๋ ฌ์ํ๊ณ ์ด์ฌํ rank๋ฅผ ์ง์ ๊ตฌํด์ ๋ฃ์ด์ฃผ๋ คํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ์๊ฒ ๋ ์ ์ sortํ์ง์๊ณ ์์ ํ์ํ๋ ๊ฒฝ์ฐ์ ์์๋๋ก ๋ฌด์ธ๊ฐ ์ถ๋ ฅํ๊ณ ์ถ์๋๋ ์๋์ ๊ฐ์ด terminator๋ฅผ ์ด์ฉํด์ ์ญ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค. sort๋ฅผํ๊ฒ๋๋ฉด ์์๊ฐ ๋ฐ๋๋ ๋ณ์๋ฅผ ํ๋ ์ฝ์ ํ๋ ๊ฒ ์ข์๋ณด์ธ๋ค.
import Foundation
let n = Int(readLine()!)!
var humans = [[Int]]()
for i in 0..<n {
let input = readLine()!.components(separatedBy:" ").map{Int($0)!}
humans.append(input)
}
for i in 0..<n {
var rank = 1
for j in 0..<n {
// ๋ชธ๋ฌด๊ฒ์ ํค๊ฐ ๋ ํฐ ๊ฒ์ด ์กด์ฌํ ๋ ๋ญํน์ ํ๋ ๋๋ ค์ค๋ค
if humans[i][0] < humans[j][0] && humans[i][1] < humans[j][1] {
rank += 1
}
}
print(rank, terminator:" ")
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค - ๋ฑ์๊ตฌํ๊ธฐ(Swift) (0) | 2022.11.09 |
---|---|
๋ฐฑ์ค - ํฌ๋ก์ค์ปจํธ๋ฆฌ(Swift) (0) | 2022.11.09 |
๋ฐฑ์ค - ์ฌ๋ฆผํฝ(Swift) (0) | 2022.11.08 |
๋ฐฑ์ค - ์ค ์ธ์ฐ๊ธฐ(Swift) (0) | 2022.11.08 |
๋ฐฑ์ค - ๋จ์ด๊ณต๋ถ(Swift) (0) | 2022.11.08 |