๐Ÿ“Œ ํŒŒ์ด์ฌ ์œผ๋กœ ํ’€์ด

 

๐Ÿ“Œ ๋ฌธ์ œ ๋งํฌ :

 

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

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

programmers.co.kr

 

๐Ÿ“Œ ๋ฌธ์ œ ์„ค๋ช… :

๋‹ค์Œ ๊ทœ์น™์„ ์ง€ํ‚ค๋Š” ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • (), [], {} ๋Š” ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ A๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด, (A), [A], {A} ๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, [] ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ, ([]) ๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ A, B๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด, AB ๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, {} ์™€ ([]) ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ, {}([]) ๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

๋Œ€๊ด„ํ˜ธ, ์ค‘๊ด„ํ˜ธ, ๊ทธ๋ฆฌ๊ณ  ์†Œ๊ด„ํ˜ธ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ด s๋ฅผ ์™ผ์ชฝ์œผ๋กœ x (0 ≤ x < (s์˜ ๊ธธ์ด)) ์นธ๋งŒํผ ํšŒ์ „์‹œ์ผฐ์„ ๋•Œ s๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด ๋˜๊ฒŒ ํ•˜๋Š” x์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

๐Ÿ“Œ ์ œํ•œ ์‚ฌํ•ญ

  • s์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ์ž…์ถœ๋ ฅ ์˜ˆ


์ถ”์ธก) 

๊ด„ํ˜ธ์ง์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด ์ค€๋น„ํ•œ๋‹ค. 

๋ฌธ์ž์—ด s๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด ๋งจ์•ž์— ๊ฒƒ์„ popํ•ด ๋’ค๋กœ appendํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํšŒ์ „์„ ์‹œํ‚ค๊ณ  ๋ฌธ์ž์—ด๋กœ ํ•ฉ์ณ์ค€๋‹ค (์ฒ˜์Œ ํšŒ์ „์ด ํ•„์š”์—†๋Š” ๊ฒฝ์šฐ๋Š” ๊ทธ๋ƒฅ) 

๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ž์—ด์—์„œ ๊ด„ํ˜ธ์ง ๋ฐฐ์—ด for๋ฌธ์„ ๋Œ๋ ค ์ง์„ ์ฐพ์œผ๋ฉด ์‚ญ์ œํ•˜๋Š” ๋ฐฉ์‹์„ ๋ฐ˜๋ณตํ•œ๋‹ค. 

๋Œ€์‹  3๊ฐœ์˜ ๊ด„ํ˜ธ์ง์ด ์—†์„ ๊ฒฝ์šฐ ๊ฐ๊ฐ flag๋ฅผ 0์œผ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๊ณ  ๋ชจ๋‘ 0์ด ๋˜๋ฉด ์นด์šดํŒ… ์—†์ด ๋‚˜์˜ค๊ธฐ

text๊ธธ์ด๊ฐ€ 0์ด๋˜๋ฉด ๋ชจ๋‘ ์ง€์›Œ๋ƒˆ์œผ๋ฏ€๋กœ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๋ฌธ์ž์—ด์ด๋ผ ์นด์šดํŒ…ํ•œ๋‹ค

์ด๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ๋งˆ์ง€๋ง‰์— ์นด์šดํŠธ๋ฅผ ๋ฐ˜ํ™˜

 

์†Œ์Šค์ฝ”๋“œ) 

* 1์ฐจ) ์‹คํŒจ : ์ •ํ™•๋„ 78.6

def solution(s):
    answer = 0
    bracket = ['()', '[]', '{}']
    s_list = list(s)
    for i in range(len(s)):
        text = ""
        if i != 0:
            s_list.append(s_list.pop(0))
            text = ''.join(one for one in s_list)
        else :
            text = s

        flag_list = [1, 1, 1]
        flag = True
        while flag:
            if len(text) == 0 :
                answer += 1
                break

            if flag_list == [0, 0, 0]:
                break

            for x in range(len(bracket)) :
                if bracket[x] in text:
                    text = text.replace(bracket[x], "")
                else:
                    flag_list[x] = 0
                    pass

    return answer

* 2์ฐจ) ์‹คํŒจ : ์ •ํ™•๋„ 92.9 ๐Ÿ˜ญ ์•… ๋‹จํ•˜๋‚˜์˜ ์ผ€์ด์Šค๊ฐ€

def solution(s):
    answer = 0
    bracket = ['()', '[]', '{}']
    s_list = list(s)
    for i in range(len(s)):
        text = ""
        if i != 0:
            s_list.append(s_list.pop(0))
            text = ''.join(one for one in s_list)
        else :
            text = s

        flag_list = [1, 1, 1]
        flag = True
        while flag:
            if len(text) == 0 :
                answer += 1
                break

            if flag_list == [0, 0, 0]:
                if text.find(bracket[0]) and text.find(bracket[1]) and text.find(bracket[2]):
                    break

            for x in range(len(bracket)) :
                if bracket[x] in text:
                    text = text.replace(bracket[x], "")
                else:
                    flag_list[x] = 0
                    pass

    return answer

* 3์ฐจ) ์„ฑ๊ณต

def solution(s):
    answer = 0
    bracket = ['(',')', '[',']', '{','}']
    s_list = list(s)
    for i in range(len(s)):
        if i != 0:
            s_list.append(s_list.pop(0))

        stack = []
        for one in s_list:
            stack.append(one)
            stack_len = len(stack)
            if stack_len >= 2:
                for x in range(0,len(bracket),2) :
                    if stack[stack_len-2:stack_len] == bracket[x:x+2]:
                        stack = stack[:stack_len-2]

        if len(stack) == 0 :
            answer += 1

    return answer

 

 

๋ฆฌ๋ทฐ) 

 

1์ฐจ)

ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ธ์šธ๊ธฐ์ ์„ ์ž˜ ์ƒ๊ฐํ•ด๋ด์•ผ ํ• ๋“ฏํ•˜๋‹ค.

์™œ๋ƒ๋ฉด ์ง€๊ธˆ ๋‚ด ๋กœ์ง๋Œ€๋กœ๋Š” ๋งŒ์•ฝ ({}) ๊ด„ํ˜ธ ๊ฒฝ์šฐ () ์ฐจ๋ก€์—์„œ ์ด๊ฑธ ๋ชป์ฐพ์•„์„œ ํ”Œ๋ž˜๊ทธ๋ฅผ 0์œผ๋กœ ๋„ฃ๊ณ  {} ์ด๊ฑธ ์ง€์šฐ๊ณ  ๋‚˜์„œ์•ผ ()๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฏธ ํ”Œ๋ž˜๊ทธ๋Š” 0์ด ๋ฌ๊ธฐ ๋•Œ๋ฌธ

 

2์ฐจ) 

ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•œ 1๋ฒˆ ์ผ€์ด์Šค ๋ญ์ง€..  1๋ฒˆ ์ผ€์ด์Šค๋กœ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์ „์— ์ด๊ฑฐ๋ž‘ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋˜๊ฒŒ ์ƒ๊ฐ๋‚˜์„œ ํ–„๋ฒ„๊ฑฐ ๋ฌธ์ œ์—์„œ ์ผ๋˜ stack ๋ฐฉ์‹์„ ์‘์šฉํ•˜๋‹ˆ ๋ฐ”๋กœ 3์ฐจ์—์„œ ์„ฑ๊ณต ์˜ค์˜ค์˜ค!!!! ์ด๋Ÿฐ ์œ ํ˜•์ด ๋ฐ”๋กœ ์Šคํƒ ์œ ํ˜•!

 

 

Programmers] ํ–„๋ฒ„๊ฑฐ ๋งŒ๋“ค๊ธฐ

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

littlezero48.tistory.com

 

๊ทธ๋Ÿฐ๋ฐ! 3์ฐจ ๋ฐฉ์‹์œผ๋กœ ํ†ต๊ณผํ•œ๊ฑฐ๋ž‘ 2์ฐจ์— ํ•˜๋‚˜์˜ ์ผ€์ด์Šค๋งŒ ์‹คํŒจํ•œ ๊ฒฝ์šฐ๋ฅผ ๋น„๊ตํ•˜๋ฉด 2์ฐจ๊ฐ€ ๋” ๋ง๋„์•ˆ๋˜๊ฒŒ ๋น ๋ฆ„... 

2์ฐจ๋Š” for/while/for ๋กœ ์‚ฌ์šฉํ•œ 3์ค‘ ๋ฌธ์ธ๋ฐ ํ›จ์”ฌ๋” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค ๐Ÿ˜ฏ๐Ÿ˜ฏ

2์ฐจ๊ฐ€ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•œ ์ผ€์ด์Šค์— ๋Œ€ํ•ด ์ข€๋” ์ƒ๊ฐํ•ด๋ด์•ผํ•  ๋“ฏ ํ•˜๋‹ค.

 

3์ฐจ ๊ฒฐ๊ณผ
2์ฐจ ๊ฒฐ๊ณผ

+ Recent posts