๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/Coding Test

[Level 2] ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก (Python)

 

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

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

programmers.co.kr

 

def solution(p_b):
    
    for i in range(len(p_b)):
        for j in range(i+1, len(p_b)):
            if p_b[i] == p_b[j][:len(p_b[i])] or p_b[j] == p_b[i][:len(p_b[j])]:
                return False
            
    return True

 

โ–ท ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก์— ์žˆ๋Š” ์ „ํ™”๋ฒˆํ˜ธ ๋‘ ๊ฐœ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋น„๊ตํ•˜๋„๋ก for ๋ฌธ์„ ์ด์šฉํ•œ ์ด์ค‘๋ฃจํ”„๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

 

โ–ท ์ฃผ์˜ํ•  ์ ์€ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด๋ฅผ ๋น„๊ตํ•  ๋•Œ, ๋‘ ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ์˜ 2๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

(1) ์ „ํ™”๋ฒˆํ˜ธ A์˜ ๊ธธ์ด๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ B์˜ ๊ธธ์ด๋ณด๋‹ค ์งง์€ ๊ฒฝ์šฐ:

→ B[:len(A)] == A

 

(2) ์ „ํ™”๋ฒˆํ˜ธ B์˜ ๊ธธ์ด๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ A์˜ ๊ธธ์ด๋ณด๋‹ค ์งง์€ ๊ฒฝ์šฐ:

→ A[:len(B)] == B

 

โ–ถ range ํ•จ์ˆ˜์— ๋‘ ๊ฐœ๊ฐ€ ์ˆซ์ž๊ฐ€ ์ธ์ž๋กœ ์ฃผ์–ด์งˆ ๊ฒฝ์šฐ, ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋Š” ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž, ๋‘ ๋ฒˆ์งธ ์ธ์ž๋Š” ๋งˆ์ง€๋ง‰ ์ˆซ์ž์—์„œ 1์„ ๋บธ ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.

'Programming > Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Level 2] ๋ฌธ์ž์—ด ์••์ถ•  (0) 2020.10.07
[Level 2] ๊ตฌ๋ช…๋ณดํŠธ  (0) 2020.10.06
[Level 2] H-Index (Python)  (0) 2020.10.05
[Level 2] ์œ„์žฅ (Python)  (0) 2020.09.30
[Level 2] ๊ด„ํ˜ธ ๋ณ€ํ™˜ (Python)  (0) 2020.09.30