์ฒ์์๋ ๋ฌธ์ ๊ฐ ์ดํด๊ฐ ์๊ฐ๋๋ฐ ๊ทธ๋ฅ A์ A๋ฅผ ์ง์ง๊ณ B์ B๋ฅผ ์ง์ง์์ ๋ ๊ฒน์น๋ ์ ์ด ์๊ณ ๋จ๋ ๋ฌธ์๊ฐ ์์ผ๋ฉด ์ข์ ๋ฌธ์๋ก ์ธ์ด์ฃผ๋ ๊ฒ์ด์๋ค.
์ด ๋ฌธ์ ๋ฅผ ํธ๋ ์๊ณ ๋ฆฌ์ฆ์
1. ์คํ์ ๊ฐ์ ๋ฌธ์๊ฐ ๋ค์ด์ค๋ฉด pop
2. ์คํ์ ๋ค๋ฅธ ๋ฌธ์๊ฐ ๋ค์ด์ค๋ฉด push ํ๋ ๊ฒ์ด๋ค.
ํ์ด์ฌ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ง๊ธฐ ์์ํ์ง ์ผ๋ง ๋์ง ์์ ๋ฆฌ์คํธ๊ฐ ๋น์ด์์ ๊ฒฝ์ฐ์ ๋ํ ์กฐ๊ฑด๋ฌธ์ ๋ง๋ค๋ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด len(stack)์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋์ ์ฝ๋๋ผ๋ ๊ฒ๋ ์๊ฒ ๋์๋ค.
if not stack:
๊ทธ๋ฆฌ๊ณ ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์์ ์ ๊ทผํ ๋ stack[-1]์ฒ๋ผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
def main():
n = int(input())
word_list = []
stack=[]
count = 0
for _ in range(n):
word_list.append(input())
for word in word_list:
for i in range(0,len(word)):
if not stack:
stack.append(word[i])
else:
if stack[-1]==word[i]:
stack.pop()
else:
stack.append(word[i])
if not stack:
count+=1
stack=[]
print(count)
if __name__ == '__main__':
main()
'ALGORITHM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DFS/BFS] ๋ฐฑ์ค 1260 ๋ฌธ์ ํ์ด (0) | 2020.10.26 |
---|---|
[์ด์งํ์] programmers ์ ๊ตญ ์ฌ์ฌ ๋ฌธ์ ํ์ด (0) | 2020.10.11 |
[TSP] ๋ฐฑ์ค 10971 ๋ฌธ์ ํ์ด (0) | 2020.09.19 |
[DP] ๋ฐฑ์ค 14501 ๋ฌธ์ ํ์ด (0) | 2020.09.16 |
[DP] ๋ฐฑ์ค 1463 ๋ฌธ์ ํ์ด (0) | 2020.09.15 |