๐ŸŒžAlgorithm/๐Ÿ”ฅprogrammers

[programmers] ํŠœํ”Œ -2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ

๋ฟŒ์•ผ._. 2021. 9. 4. 20:26

<ํŠœํ”Œ>

๋ฌธ์ œ(์ถœ์ฒ˜: https://school.programmers.co.kr/learn/courses/30/lessons/64065)

 

 

 

๋ฌธ์ œ ํ’€์ด

   - my solution

def solution(s):
    answer = []
    
    s=s[1:len(s)-1] # ํฐ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ
    
    result=[]
    val=''
    for j in range(len(s)):
        i=s[j]
        if i=='{':
            temp=[]
        elif i.isdigit(): #์ˆซ์ž์ด๋ฉด
            val+=i
        elif i==',' and len(val)!=0: #๊ด„ํ˜ธ ์•ˆ์˜ ์‰ผํ‘œ์ด๋ฉด
            temp.append(val)
            val=''
        elif i=='}':
            if len(val)!=0: #๋งˆ์ง€๋ง‰ ์ˆซ์ž๊ฐ€ ๋‚จ์•„์žˆ์œผ๋ฉด
                temp.append(val)
                val=''
            result.append(temp)
            
    result.sort(key=lambda x:len(x)) #๊ธธ์ด ์ˆœ์œผ๋กœ ์ •๋ ฌ
    
    # ๋ฐ˜๋ณต๋ฌธ_๊ฐ’์ด answer์— ์—†์œผ๋ฉด ์ถ”๊ฐ€
    for i in result:
        for j in i: 
            if int(j) not in answer:
                answer.append(int(j))
    return answer

๋‹ค ํ’€๊ณ  ๋‹ค์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ˆ ์กฐ๊ธˆ ๋ณต์žกํ•˜๊ฒŒ ํ‘ผ ๊ฒƒ ๊ฐ™๋‹ค..

 

1) ์›์†Œ ๋งˆ๋‹ค ๋ถ„๋ฆฌํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ํฐ ๋”ฐ์˜ดํ‘œ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๊ฒƒ์€ ์ œ๊ฑฐ

2) ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉฐ { }์™€ , ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์›์†Œ๋ฅผ ๊ตฌ๋ถ„

3) ๊ธธ์ด ์ˆœ์œผ๋กœ ์ •๋ ฌ

4) ๊ธธ์ด ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒƒ์„ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ answer ๋ฐฐ์—ด๊ณผ ๋น„๊ตํ•˜์—ฌ ์—†๋Š” ๊ฐ’๋งŒ ์ถ”๊ฐ€


์ƒ๊ฐ๐Ÿค”

 

์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ๋ณด๋ฉฐ ์ƒ๊ฐํ•ด๋‚ธ ๊ฒƒ์€ if๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋‚˜ํ•˜๋‚˜ ํŒ๋ณ„ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

๋” ์งง๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์•„์ง ์ƒ๊ฐ์€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค ๐Ÿ˜ฅ

 

๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— ์ด ๋ฌธ์ œ์˜ ํฌ์ธํŠธ๋Š”

1) split ํ•˜๋Š” ๋ฐฉ๋ฒ•

2) ์›์†Œ์˜ ์œ ๋ฌด ํŒ๋ณ„

์ธ ๊ฒƒ ๊ฐ™๋‹ค. 


์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต, https://programmers.co.kr/learn/challenges