๐10799 ์ ๋ง๋๊ธฐ
https://www.acmicpc.net/problem/10799
[ ํ์ด ]
์คํ ์ด์ฉ
- "(" ์ผ ๊ฒฝ์ฐ ์คํ์ ์ผ๋จ append
- ")"์ผ ๊ฒฝ์ฐ ๋ ์ด์ ์ธ์ง ์๋์ง ๊ตฌ๋ถํด์ผํจ
- ")"์ผ ๋ ๋ฐ๋ก ์ด์ ๋ฌธ์๊ฐ "("๋ผ๋ฉด ๋ ์ด์ ์ด๋ฏ๋ก ์คํ ๊ธธ์ด๋งํผ ์ ๋ง๋๊ธฐ ๊ฐ์ ๋ํ๊ธฐ
- ๋ฐ๋ก ์ด์ ๋ฌธ์๊ฐ "(" ๊ฐ ์๋๋ผ ")"๋ผ๋ฉด ์ ๋ง๋๊ธฐ์ด๋ฏ๋ก +1
[ ์ฝ๋ ]
steel = list(input())
stack = []
result = 0
for i in range(len(steel)):
if steel[i] == '(':
stack.append('(')
else:
if steel[i-1] == '(':
stack.pop()
result += len(stack)
else:
stack.pop()
result += 1
print(result)
๐1158 ์์ธํธ์ค ๋ฌธ์
https://www.acmicpc.net/problem/1158
[ ํ์ด ]
deque ์ด์ฉ
- ์ฌ๋ ์ ๋งํผ deque(circle)์ 1๋ถํฐ n๊น์ง ์ ์ฅ
- circle์์ k๋ฒ์งธ ์ฌ๋์ ์ญ์ ํ๊ธฐ ์ํด k-1๊น์ง๋ popleftํ ๋ค์ ๋ค์ append
- ๋ง์ง๋ง k๋ฒ์งธ๋ popleftํ๊ณ ์ ๋ต ๋ฆฌ์คํธ์ ์ถ๊ฐ
[ ์ฝ๋ ]
from collections import deque
n, k = map(int, input().split())
circle = deque([i for i in range(1, n+1)])
result = []
while len(circle) != 0:
cnt = k
while cnt != 1:
circle.append(circle.popleft())
cnt -= 1
x = circle.popleft()
result.append(x)
print("<", end="")
print(*result, sep=", ", end="")
print(">")
๐1966 ํ๋ฆฐํฐํ
https://www.acmicpc.net/problem/1966
[ ํ์ด ]
m์ด ๋น ์ ธ๋์จ ๊ฒ์ -1์ด๋ผ๊ณ ์๊ฐํ๊ณ -1์ด ๋ ๋๊น์ง ๋ค์ ๊ณผ์ ์งํ
- ์ค์๋ ์์ผ๋ก ์ ๊ฑฐํ๊ธฐ ์ํด์ ์ค์๋๊ฐ ๊ฐ์ฅ ํฐ ๊ฒ์ด ๋งจ ์์ ์์ผ๋ฉด ์ญ์
- result(m์ด ๋ช ๋ฒ์งธ์ ๋น ์ ธ๋๊ฐ๋์ง ์นด์ดํธ) ์ฆ๊ฐ
- ์ค์๋๊ฐ ๊ฐ์ฅ ํฐ ๊ฒ์ด ๋งจ ์์ ์์ง ์์ผ๋ฉด ๋งจ ๋ค๋ก ๋ณด๋ด๊ณ ์ญ์
- ๋งจ ๋ค๋ก ๋ณด๋ผ๋ m์ด ์ด๋์ ์์๋์ง ๊ธฐ์ตํ๊ธฐ ์ํด m์์น๋ ์กฐ์
[ ์ฝ๋ ]
t = int(input())
for i in range(t):
n, m = map(int, input().split())
star = list(map(int, input().split()))
result = 0
while m != -1:
if star[0] == max(star):
del star[0]
m -= 1
result += 1
else:
star.append(star[0])
del star[0]
if m == 0:
m = len(star) - 1
else:
m -= 1
print(result)
๐9012 ๊ดํธ
https://www.acmicpc.net/problem/9012
[ ํ์ด ]
์คํ ์ด์ฉ
- ๋ฌธ์์ด์ ๋ฐ์ ํ "("๋ผ๋ฉด ์ผ๋จ ์คํ์ append
- ")"๋ผ๋ฉด ์คํ์์ popํ๋๋ฐ ์คํ์ด ๋น์๋ค๋ฉด ๋ฐ๋ก NO์ถ๋ ฅ
- ๋ชจ๋ ๋ฌธ์์ด์ ๋์์ ๋ ์คํ์ด ๋น์๋ค๋ฉด YES์ถ๋ ฅํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด NO์ถ๋ ฅ
[ ์ฝ๋ ]
t = int(input())
for _ in range(t):
stack = []
s = input()
for j in s:
if j == "(":
stack.append(j)
else:
if stack:
stack.pop()
else:
print("NO")
break
else:
if not stack:
print("YES")
else:
print("NO")
'Group Study (2022-2023) > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Coding Test] 5์ฃผ์ฐจ - DFS์ BFS (0) | 2023.02.19 |
---|---|
[Coding Test] 4์ฃผ์ฐจ - Implementation (0) | 2023.02.10 |
[Coding Test] 3์ฃผ์ฐจ - Greedy (0) | 2023.02.05 |
[Coding Test] 2์ฃผ์ฐจ - Data Structure2 (1) | 2023.01.28 |
[Coding Test] ์คํฐ๋ ๊ณํ ๋ฐ ๊ทธ๋ผ์ด๋ ๋ฃฐ (0) | 2023.01.16 |