728x90
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
์ค๋ช
๋ฒํธ ๋ฌธ์์ด์์ ๊ฐ์ ๋ฒํธ๋ก ๋ถ์ด์๋ ์๋ค์ ์๊ฑฐํ๊ณ ๋จ์ ๋ฒํธ๋ฅผ ๋น๋ฐ๋ฒํธ๋ก ๋ง๋ ๋ค.
ํ์ด
์ฌ๊ท
- ๋ฒํธ ๋ฌธ์์ด์ ๋ฆฌ์คํธ๋ก ๋ง๋ ๋ค.
- ๋ฆฌ์คํธ๋ฅผ ์ฌ๊ท๋ก ๋๊ฒ ํ๋ค.
- ๋ฆฌ์คํธ ๊ธธ์ด๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋๊ฒ ํ๋๋ฐ, ์ฌ๊ธฐ์ ์ด์ ๊ณผ ๊ฐ์ ์ซ์์ด๋ฉด ์ด์ ์ซ์์ ํ์ฌ ์ซ์๋ฅผ ๋ฆฌ์คํธ์์ ์ ๊ฑฐํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฆฌ์คํธ๋ฅผ ์ฌ๊ท๋ฅผ ๋๊ฒ ํ๋ค.
- ์ฐ์๋ ๊ฐ์ ์๊ฐ ์์ ๋๊น์ง ๋ฐ๋ณต ํน์ ์ฌ๊ท๋ฅผ ๋๊ฒ ํ๊ณ ๋์ด ๋๋ฉด ๋ฆฌ์คํธ๋ฅผ ๋ฐํํ๋ค.
โป ๊ฒฐ๊ณผ๊ฐ ๋งจ ์์ 0์ด ์์ผ๋ฉด ์ ๋๋ฏ๋ก ์ ๊ฑฐํด์ค์ผ ํ๋ค.
Solution
def calc(password):
for i in range(1, len(password)):
if password[i-1] == password[i]: #์ด์ ๊ณผ ๊ฐ์ ์ซ์์ด๋ฉด
password.pop(i) #ํ์ฌ ์ซ์ ์ ๊ฑฐ
password.pop(i-1) #์ด์ ์ซ์ ์ ๊ฑฐ
return calc(password) #๋ค์ ์ฌ๊ท ๋๋ฆฌ๊ธฐ
return password #์ฌ๊ท ๋ชจ๋ ๋์์ผ๋ฉด ๋ฆฌ์คํธ ๋ฐํ
for tc in range(1, 11):
n, password = map(int, input().split())
word = []
print('#'+str(tc), end=' ')
for i in str(password): #์
๋ ฅ๋ฐ์ ๋ฌธ์ ๋ฆฌ์คํธ๋ก ๋ง๋ค๊ธฐ
word.append(i)
word = calc(word) #๊ฒฐ๊ณผ ์ ์ฅ
if word[0] == '0': #๋งจ ์์ด 0์ด๋ฉด ์ ๊ฑฐ
word.pop(0) #pop์ ์ธ๋ฑ์ค ์ญ์
for j in word:
print(j, end='')
print()
๋ค๋ฅธ ํ์ด
for tc in range(1, 11):
n, password = input().split()
n = int(n)
stk = []
for c in password:
if stk and c == stk[-1]:
stk.pop()
else:
stk.append(c)
result = ''.join(stk)
print('#'+str(tc), result)
๐ฉ๐ป ํ๊ณ
1, 2, 3์ฐจ ์ ์ถ์ ์คํจํ์๋๋ฐ, ํ์ด๊ฐ ์๋ชป๋ ์ค ์์๋๋ฐ ๊ฒฐ๊ณผ๊ฐ ๋งจ ์์ 0์ด ์์ผ๋ฉด ์ ๋๋ค๋ ๊ฑธ ๋๊ธ์์ ์๊ฒ ๋๋ค. ์ด ์กฐ๊ฑด๊น์ง ์ค๋ช ์ ์์๋ค๋ฉด ๋ฐ๋ก ํ์์ ๊ฒ ๊ฐ๋ค.. ์์ฝ๋ค.
๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ ์์ฒญ ๊ฐ๋จํ๊ฒ ํผ ์ฌ๋๋ ์๋ค.. ๋ง์ด ๋ฐฐ์์ผ ํ ๊ฒ ๊ฐ๋ค.
728x90
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 1217. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 4์ผ์ฐจ - ๊ฑฐ๋ญ ์ ๊ณฑ (Python/D3) (0) | 2023.11.16 |
|---|---|
| [SWEA] 5948. ์์์ด์ 7-3-5 ๊ฒ์ (Python/D3) (0) | 2023.11.16 |
| [SWEA] 2070. ํฐ ๋, ์์ ๋, ๊ฐ์ ๋ (Python/D1) (2) | 2023.11.12 |
| [SWEA] 2071. ํ๊ท ๊ฐ ๊ตฌํ๊ธฐ (Python/D1) (1) | 2023.11.12 |
| [SWEA] 1986. ์ง๊ทธ์ฌ๊ทธ ์ซ์ (Python/D2) (1) | 2023.11.11 |