ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

 

๋ฌธ์ œ ํ’€์ด

 ์ค‘๋ณต์ด ๋˜๋Š” ๊ฒฝ์šฐ ์†Œ๊ฑฐํ•˜์—ฌ, ์ค‘๋ณต์ด ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜์—ฌ ๋‚จ๋Š” ๋ฌธ์ž๋ฅผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” `stack`์„ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

 `stack`์— ์ถ”๊ฐ€ ๋˜๋Š” ๊ทœ์น™์€ `stack[-1] == ํ˜„์žฌ ์ˆซ์ž`์™€ ๊ฐ™์€ ๊ฒฝ์šฐ `stack.pop()`์„ ํ•˜๊ณ  ์•„๋‹Œ ๊ฒฝ์šฐ `stack.append(ํ˜„์žฌ ์ˆซ์ž)`๋ฅผ ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ’์„ stack์— ์œ ์ง€ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๋ฅผ ์ค‘๋ณต๋œ ์ˆซ์ž๊ฐ€ ๋Œ€์‹ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

์ฝ”๋“œ

for test_case in range(1, 11):
    stack = []
    n, nums = input().split()
    nums = list(nums.strip())

    for num in nums:
        if not stack:
            stack.append(num)
        else:
            if stack[-1] == num:
                stack.pop()
            else:
                stack.append(num)

    print('#' + str(test_case), ''.join(stack))

 

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€