[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก / ํŒŒ์ด์ฌ / Python / ๋ฌธ์ž์—ด ์ •๋ ฌ
Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก / ํŒŒ์ด์ฌ / Python / ๋ฌธ์ž์—ด ์ •๋ ฌ

728x90
๋ฐ˜์‘ํ˜•

 

๐Ÿ’กsolutions )

๐Ÿ’ฌ sorted()๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ phone_book์„ ๋จผ์ € ์ •๋ ฌํ•œ๋‹ค -> ๋ฌธ์ž์—ด ์ •๋ ฌ์ด๊ธฐ ๋•Œ๋ฌธ์— 12, 120, 13 ์ด๋Ÿฐ์‹์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ์ˆซ์ž์˜ ์ ˆ๋Œ€์ ์ธ ํฌ๊ธฐ๊ฐ€ ์•„๋‹Œ ์‚ฌ์ „ ์ •๋ ฌ ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค.

๐Ÿ’ฌ ์ •๋ ฌ์ด ๋๋‹ค๋ฉด ์ฒซ ๋ฒˆ์งธ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•˜๋Š”๋ฐ, ๊ทธ ๋’ค ๋ฐ”๋กœ ์ธ์ ‘ํ•œ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด๊ฐ€ ๋˜๋Š”์ง€ ๋น„๊ตํ•œ๋‹ค.

๐Ÿ’ฌ ์ด๋•Œ ์ธ์ ‘ํ•œ ์ „ํ™”๋ฒˆํ˜ธ๋งŒ ๋น„๊ตํ•˜๋ฉด ๋˜๋Š” ์ด์œ ๋Š” ์‚ฌ์ „๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ด๋ฏธ ์ •๋ ฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 12, 139, 160 ์‹์œผ๋กœ ์ •๋ ฌ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— 12์™€ 139๋ฅผ ๋น„๊ตํ–ˆ์„ ๋•Œ 12๊ฐ€ 139์˜ ์ ‘๋‘์–ด๊ฐ€ ๋˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด 12๋Š” ๊ทธ ๋‹ค์Œ ์ „ํ™”๋ฒˆํ˜ธ์ธ 160์˜ ์ ‘๋‘์–ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ตํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

๐Ÿ‘จ‍๐Ÿ’ปcode )

def solution(phone_book):
    phone_book = sorted(phone_book)
    for i in range(1, len(phone_book)):
        num_len = len(phone_book[i-1])
        if phone_book[i-1] == phone_book[i][:num_len]:
            return False
    else:
        return True

 

๐Ÿ“Œdescription )

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก

์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ ์ค‘, ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ, ๊ตฌ์กฐ๋Œ€ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์˜์„์ด์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค. ๊ตฌ์กฐ

programmers.co.kr


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

๋ฌธ์ œ ์„ค๋ช…

์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ ์ค‘, ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.
์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ, ๊ตฌ์กฐ๋Œ€ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์˜์„์ด์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค.

  • ๊ตฌ์กฐ๋Œ€ : 119
  • ๋ฐ•์ค€์˜ : 97 674 223
  • ์ง€์˜์„ : 11 9552 4421

์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด phone_book ์ด solution ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์–ด๋–ค ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฉด false๋ฅผ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด true๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • phone_book์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • ๊ฐ ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 20 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • ๊ฐ™์€ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ์ค‘๋ณตํ•ด์„œ ๋“ค์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ์ œ

phone_bookreturn

["119", "97674223", "1195524421"] false
["123","456","789"] true
["12","123","1235","567","88"] false

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1
์•ž์—์„œ ์„ค๋ช…ํ•œ ์˜ˆ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ธ ๊ฒฝ์šฐ๊ฐ€ ์—†์œผ๋ฏ€๋กœ, ๋‹ต์€ true์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3
์ฒซ ๋ฒˆ์งธ ์ „ํ™”๋ฒˆํ˜ธ, “12”๊ฐ€ ๋‘ ๋ฒˆ์งธ ์ „ํ™”๋ฒˆํ˜ธ “123”์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ต์€ false์ž…๋‹ˆ๋‹ค.





๋ฐ˜์‘ํ˜•