์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ž์—ด

[๋ฐฑ์ค€ 1181 ๐Ÿฅˆ] ๋‹จ์–ด ์ •๋ ฌ

1eehyunji 2023. 10. 31. 23:52

https://www.acmicpc.net/problem/1181

 

1181๋ฒˆ: ๋‹จ์–ด ์ •๋ ฌ

์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ N๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

  1. ๊ธธ์ด๊ฐ€ ์งง์€ ๊ฒƒ๋ถ€ํ„ฐ
  2. ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „ ์ˆœ์œผ๋กœ

๋‹จ, ์ค‘๋ณต๋œ ๋‹จ์–ด๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

์ถœ๋ ฅ

์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜์—ฌ ๋‹จ์–ด๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค.

๋ฌธ์ œ ํ’€์ด

  • ๋ฌธ์ž์—ด ๋ฌธ์ œ๋ฅผ ๋ณ„๋กœ ํ’€์–ด๋ณด์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ๋‹จ๊ณ„๋ณ„๋กœ ํ‘ธ๋Š” ์ค‘์— ์ ‘ํ•œ ๋ฌธ์ œ์ด๋‹ค!
  • ๋‹จ์ˆœ ์ •๋ ฌ ๋ฌธ์ œ๋กœ, ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด ๋ฌธ์ž์—ด ๋ฐฐ์—ด์„ set ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.
  • set์˜ ๊ฒฝ์šฐ, sort()๋Š” list ์ „์šฉ ๋ฉ”์†Œ๋“œ๋กœ set ์ž๋ฃŒํ˜•์—์„  ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ๊ทธ๋ž˜์„œ ๋ฆฌ์ŠคํŠธ ์™ธ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ์ •๋ ฌ๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” sorted ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • ์ •๋ ฌ์˜ key ๊ฐ’์œผ๋กœ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ๊ณ , ๋ฌธ์ž์—ด์ด ๊ฐ™์œผ๋ฉด ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋‹ค์ค‘ ์ •๋ ฌ์„ ์„ค์ •ํ•ด์คฌ๋‹ค.
import sys
n=int(sys.stdin.readline())
string_Array=set([sys.stdin.readline().strip() for _ in range(n)])
# ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด set์„ ์‚ฌ์šฉํ•˜๋ฉด sort๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ , sorted๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
print(*sorted(string_Array,key=lambda x:(len(x),x)),sep='\n')