๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 5052๋ฒˆ_์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก

Dbswnstjd 2023. 4. 14. 15:00

๋ฌธ์ œ

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

 

5052๋ฒˆ: ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก

์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ t ≤ 50) ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 10000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€

www.acmicpc.net

ํ’€์ด

# ๋ฐฑ์ค€ 5052๋ฒˆ ๋ฌธ์ œ - ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก
import sys
t = int(sys.stdin.readline())
for _ in range(t):
    n = int(sys.stdin.readline())
    phone_book = [str(sys.stdin.readline().strip()) for _ in range(n)] # ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ›๋Š”๋‹ค.
    phone_book.sort() # ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ
    check = "YES" # ์ผ๊ด€์„ฑ์ด ์žˆ๋Š”์ง€ ์ฒดํฌ
    print(phone_book)
    # ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ํ™•์ธ
    for i in range(len(phone_book) - 1):
        # ํ˜„์žฌ ์ „ํ™”๋ฒˆํ˜ธ์˜ ๋ฌธ์ž์—ด๊ณผ ๋‹ค์Œ ์ „ํ™”๋ฒˆํ˜ธ์˜ ํ˜„์žฌ ์ „ํ™”๋ฒˆํ˜ธ ๊ธธ์ด๋งŒํผ์˜ ๋ฌธ์ž์—ด๊ณผ ๊ฐ™์€์ง€ ํ™•์ธ
        # ๊ฐ™์œผ๋ฉด ์ผ๊ด€์„ฑ์ด ์—†๋Š” ๊ฒƒ
        if phone_book[i] == phone_book[i + 1][0:len(phone_book[i])]:
            check = "NO"
    print(check)

 

 

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก๊ณผ ๋น„์Šทํ•œ ๋ฌธ์ œ์ด๋‹ค. 

https://school.programmers.co.kr/learn/courses/30/lessons/42577

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr