ํ’€์ด

๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

 

lambda๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌ ๊ธฐ์ค€์„ ์ •ํ•ด์ฃผ๋Š”๋ฐ, ๋จผ์ € ์ฒซ๋ฒˆ์งธ ์ธ์ž(x[0]) ์ฆ‰, x์ค„๋ถ€ํ„ฐ ์ •๋ ฌ์„ ํ•˜๊ณ 

๊ทธ๋‹ค์Œ ๋‘๋ฒˆ์งธ ์ธ์ž์ธ(x[1]) y์ค„์„ ์ •๋ ฌํ•ด์ค€๋‹ค.

 

์ฝ”๋“œ ์ฐธ์กฐ!

import sys
n = int(sys.stdin.readline())
so = []
for i in range(n):
    so.append(list(map(int, sys.stdin.readline().split())))
so.sort(key=lambda x: (x[0], x[1]))
for i in so:
    print(i[0], i[1])

 

 

 

python ์ •๋ ฌํ•จ์ˆ˜ ์ฐธ์กฐ!

1. sort

์›๋ณธ์„ ๋ณ€ํ˜•์‹œ์ผœ ์ •๋ ฌํ•œ๋‹ค. '๋ณ€์ˆ˜. sort( )' ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ.

์ •๋ ฌ ๊ธฐ์ค€์€ ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ, ๊ฐ€๋‚˜๋‹ค์ˆœ์ด๊ณ  ์ˆซ์ž๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค.

2. sorted

์ •๋ ฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜. ์›ํ˜•์„ ๋ณ€ํ˜•์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค. ๊ด„ํ˜ธ( ) ์•ˆ์— ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ iterable ์ž๋ฃŒํ˜•์„ ์ž…๋ ฅํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ์ •๋ ฌ ๊ธฐ์ค€์€ ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ, ๊ฐ€๋‚˜๋‹ค์ˆœ์ด๊ณ  ์ˆซ์ž๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค.

 

3. Parameter

sort, sorted ๋ชจ๋‘ key, reverse ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

 

3-1. reverse

bool๊ฐ’์„ ๋„ฃ๋Š”๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ reverse=False(์˜ค๋ฆ„์ฐจ์ˆœ)์ด๋‹ค.

reverse=True๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3-2. key

์ •๋ ฌ์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ฐ’์œผ๋กœ ๋„ฃ๋Š”๋‹ค. lambda๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

key ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์€ ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋‹ค. 

 

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ๊ฒฝ์šฐ, ํŠœํ”Œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

ํ’€์ด

pypy3์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค~!
  1. N์œผ๋กœ ๊ฐœ์ˆ˜ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.
  2. numbers ๋ผ๋Š” ๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค.
  3. ๋ฐ›์•„์ค€ N ํšŸ์ˆ˜๋งŒํผ for๋ฌธ์„ ๋Œ๋ฆฌ๋ฉฐ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
  4. sortํ•จ์ˆ˜๋ฅผ ์จ์„œ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•ด์ค€๋‹ค.
  5. ์ถœ๋ ฅ์€ '\n'.join(๋ฆฌ์ŠคํŠธ) : \n๊ณผ ๊ฐ’์„ ๋„ฃ์–ด์„œ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ํ•ฉ์ณ์ค€๋‹ค.

 

import sys
input = sys.stdin.readline

N = int(input())
numbers = []

for _ in range(N):
    numbers.append(int(input()))

numbers.sort()
print('\n'.join(map(str, numbers)))

 

+ Recent posts