MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ 11650๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ ๋ณธ๋ฌธ

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

[swift] ๋ฐฑ์ค€ 11650๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ

MUKER 2022. 9. 24. 22:31
 

11650๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— ์ ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” i๋ฒˆ์ ์˜ ์œ„์น˜ xi์™€ yi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขŒํ‘œ๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๊ณ , ์œ„์น˜๊ฐ€ ๊ฐ™์€ ๋‘ ์ ์€ ์—†๋‹ค.

www.acmicpc.net

 


 

๋‚˜์˜ ํ’€์ด

let T = Int(readLine()!)!

var A = [[Int]]()

for _ in 1...T {
    let a = readLine()!.split(separator: " ").map { Int($0)! }
    A.append(a)
}

A.sort { $0[0] == $1[0] ? $0[1] < $1[1] : $0[0] < $1[0] }

for i in A {
    print(i[0], i[1])
}

///
A(2์ค‘ ๋ฐฐ์—ด)์— x,y์ขŒํ‘œ๊ฐ’ ํ•œ์Œ์„ ๋ฐฐ์—ด๋กœ ๋„ฃ์–ด์„œ ํ’€์–ด๋ดค์Šต๋‹ˆ๋‹ค.
2์ค‘ ๋ฐฐ์—ด ์ •๋ ฌ์ด ์ฒ˜์Œ์ด์–ด์„œ ํ•ด๋งธ์Šต๋‹ˆ๋‹ค.

ํด๋กœ์ € ํ˜•ํƒœ๋กœ ์ •๋ ฌ์„ ์ง€์›ํ–ˆ๊ณ  ๊ณ ์ฐจํ•จ์ˆ˜ reduce์™€ ๋น„์Šทํ–ˆ์Šต๋‹ˆ๋‹ค.
์ผ๋ฐ˜ ์ •๋ ฌ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถ€๋“ฑํ˜ธ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ,์˜ค๋ฆ„์ฐจ์ˆœ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ๋น„๊ต ๋ฐฐ์—ด์˜ x๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด y๊ฐ’์„ ๋น„๊ตํ•ด ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
///
76812kb 324ms 236b