Algorithm/SWEA

[SWEA - D3] 1234. ๋น„๋ฐ€๋ฒˆํ˜ธ

hello_u 2023. 5. 8. 09:32

 

 

 

๋‚˜์˜ ์ฝ”๋“œ

for t in range(1, 11):
    n,s = input().split()
    n = int(n) + 2
    arr = list(s)
    flag = True
    while flag:
        n -= 2
        for i in range(n-1):
            if arr[i] == arr[i+1]:
                arr.pop(i)
                arr.pop(i)
                break
        else:
            flag = False
    print("#"+str(t) ," ",  *arr , sep="")

 

๋ฐฐ์—ด์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ 

๋‹ค์Œ ์ธ๋ฑ์Šค์™€ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ๋‘˜๋‹ค ์†Œ๊ฑฐ pop()

๋ฐ˜๋ณต๋ฌธ์˜ ๊ธธ์ด๋„ ๊ฐ์†Œ์‹œํ‚ด n -= 2 

 

๋ฐฐ์—ด์—์„œ ๋”์ด์ƒ ์†Œ๊ฑฐํ•  ๋ฒˆํ˜ธ ์Œ์ด ์—†์œผ๋ฉด

while ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด flag ๋ณ€์ˆ˜๋ฅผ ์ด์šฉ

 

 

for-else ๋ฌธ

for i in range(5):
    print(i, end=' ')
else:
    print("for๋ฌธ์ด ๋๊นŒ์ง€ ์‹คํ–‰๋ฌ์Šต๋‹ˆ๋‹ค!")
 
 
 
 
for i in range(5):
    if i == 2:
        break
    print(i, end=' ')
else:
    print("for๋ฌธ์ด ๋๊นŒ์ง€ ์‹คํ–‰๋ฌ์Šต๋‹ˆ๋‹ค!")

 

for๋ฌธ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” else๋ฌธ์€ for๋ฌธ์ด break ๋“ฑ์œผ๋กœ ์ค‘๊ฐ„์— ๋น ์ ธ๋‚˜์˜ค์ง€ ์•Š๊ณ  ๋๊นŒ์ง€ ์‹คํ–‰ ๋์„ ๊ฒฝ์šฐ

else๋ฌธ์ด ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค

 

 

์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ

for t in range(1, 11):
    n,s = input().split()
    n = int(n)
    stack = [s[0]]
    for i in range(1,n):
        if len(stack) != 0 and stack[-1] == s[i] : 
            stack.pop()
        else:
            stack.append(s[i])
    print("#" , t , " " , *stack , sep="")

 

 

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ stack์— ๋„ฃ์€ ๋’ค, ์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š๊ณ  ์ œ์ผ ์œ„์— ์žˆ๋Š” ์›์†Œ๊ฐ€ ํ˜„์žฌ ์›์†Œ์™€ ๋™์ผํ•˜๋‹ค๋ฉด pop()์„,

์•ž์˜ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด append()๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์›์†Œ๋ฅผ stack์— ๋„ฃ์–ด์ค€๋‹ค.