๋ฐฑ์ค€/Python

[Python] ๋ฐฑ์ค€ 11651๋ฒˆ

๋‹ค๋ธ”๐Ÿ’ 2022. 5. 25. 01:02

์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ 2 (silver 5)

2์ฐจ์› ํ‰๋ฉด ์œ„์˜ ์  N๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ขŒํ‘œ๋ฅผ y์ขŒํ‘œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์œผ๋กœ, y์ขŒํ‘œ๊ฐ€ ๊ฐ™์œผ๋ฉด x์ขŒํ‘œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ ๋‹ค์Œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

์ž…๋ ฅ

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

(-100,000 ≤ xi, yi ≤ 100,000) ์ขŒํ‘œ๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๊ณ , ์œ„์น˜๊ฐ€ ๊ฐ™์€ ๋‘ ์ ์€ ์—†๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์ ์„ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

 

์˜ˆ์ œ ์ž…๋ ฅ 1

5
0 4
1 2
1 -1
2 2
3 3

 

 

์˜ˆ์ œ ์ถœ๋ ฅ 1

1 -1
1 2
2 2
3 3
0 4

 

 

dot_num = int(input())
dot = []

for i in range(dot_num):
    x, y = map(int, input().split())
    dot.append([y, x])   # ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฆฌ์ŠคํŠธ ์•ˆ์— ์ €์žฅ, y๋จผ์ € ๊ณ ๋ คํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ y๋ฅผ ์•ž์— ์ €์žฅ

ysort_dot = sorted(dot)
for y, x in ysort_dot:
    print(x, y)

map์„ ์‚ฌ์šฉํ•˜๋ฉด split์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋‘ int๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

dot_num์ด๋ผ๋Š” ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์„ ๋จผ์ € ์ž…๋ ฅ ๋ฐ›์•„์„œ ์ด์— ํ•ด๋‹นํ•˜๋Š” ๋งŒํผ x, y๋ฅผ ์ž…๋ ฅ๋ฐ›์•˜๋‹ค.

๊ทธ ๋‹ค์Œ ๋”ฐ๋กœ ์„ ์–ธํ•œ ๋ฐฐ์—ด dot์— x, y๊ฐ’์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค. ์ด๋•Œ y๋จผ์ € ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— [y, x] ํ˜•ํƒœ๋กœ ์ €์žฅํ–ˆ๋‹ค.

ysort_dot์— dot ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ €์žฅํ•ด์ฃผ์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ysort_dot์— ๋‹ด๊ธด y, x์›์†Œ๋“ค์— ๋Œ€ํ•ด x, y ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ด์ฃผ์—ˆ๋‹ค.

 

 

'๋ฐฑ์ค€ > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐฑ์ค€ 1920๋ฒˆ  (0) 2022.05.31
[Python] ๋ฐฑ์ค€ 1654๋ฒˆ  (0) 2022.05.31
[Python] ๋ฐฑ์ค€ 2805๋ฒˆ  (0) 2022.05.24
[Python] ๋ฐฑ์ค€_4949๋ฒˆ  (0) 2022.05.15
[Python] ๋ฐฑ์ค€_ 4150๋ฒˆ  (0) 2022.05.08