No Limitation
[코딩테스트 준비] - 문자열 / 스택 문제 풀이 본문
https://www.acmicpc.net/problem/2908
A, B = [x for x in input().split()]
A = [k for k in A]; B = [k for k in B]
A.reverse(); B.reverse()
A = ''.join(A); B = ''.join(B)
if int(A) > int(B) :
print(int(A))
else :
print(int(B))
https://www.acmicpc.net/problem/2675
T = int(input())
for _ in range(T) :
answer = ''
R, S = [x for x in input().split()]; R = int(R)
for i in S :
answer += i*R
print(answer)
### *로 중복된 문자열 뿔릴 수 있는거 잊지말자
### 아래 코드는 다른 유저 분의 코드로 더 간결해서 참고될거 같아 가져옴
n = int(input())
for _ in range(n):
cnt, word = input().split()
for x in word:
print(x*int(cnt), end='') # end='' 옆으로 붙임
print() # 줄넘김
https://www.acmicpc.net/problem/9012
### 스택의 대표유형이니 만큼 잘 숙지하자
import sys
N = int(sys.stdin.readline())
for _ in range(N) :
paranthesis = sys.stdin.readline()
stack = []
for now in paranthesis :
if now == '(' :
stack.append(now)
elif now == ')' :
if stack :
if stack[-1] == '(' :
stack.pop()
else :
stack.append(now)
else :
stack.append(now)
if len(stack) == 0 :
print('YES')
else :
print('NO')
https://www.acmicpc.net/problem/12789
### 나는 스택이랑 큐를 같이 사용했는데 다른 방법은 없을 지...
### main() 함수를 쓰는 방법 말고는 저 return을 처리할 다른 방법은 없을까..
import sys
import collections
N = int(sys.stdin.readline())
student = [int(x) for x in sys.stdin.readline().split()]
def main(student) :
queue = collections.deque(student)
stack = []
while queue :
if stack :
minimum = min(min(queue),min(stack))
if stack[-1] == minimum :
stack.pop()
else :
now = queue.popleft()
if now != minimum :
stack.append(now)
else :
minimum = min(queue)
now = queue.popleft()
if now != minimum :
stack.append(now)
if stack :
while stack :
if stack[-1] == min(stack) :
stack.pop()
else :
print("Sad")
return
print("Nice")
else :
print("Nice")
main(student)
https://www.acmicpc.net/problem/28278
### 여기서 배운 거, if stack == [] 이런 표현 쓰지 말고, if stack 이렇게 가자
### 그리고 추가로 입력 처리하는 거 저렇게 하지 말고
### sys.stdin.readline() 이거에 익숙해지자
import sys
N = int(sys.stdin.readline())
stack = []
for _ in range(N) :
inputs = sys.stdin.readline().split()
if inputs[0] == '1' :
stack.append(inputs[1])
elif inputs[0] == '2' :
if stack :
print(stack.pop())
else :
print(-1)
elif inputs[0] == '3' :
print(len(stack))
elif inputs[0] == '4' :
if stack :
print(0)
else :
print(1)
else :
if stack :
print(stack[-1])
else :
print(-1)
'프로그래밍' 카테고리의 다른 글
[프로그래밍] 프로그래머스 - 디스크 컨트롤러 [Heap] (1) | 2024.03.06 |
---|---|
[코딩테스트] - 큐 문제풀이 (0) | 2024.03.01 |
[Ubuntu] nvidia-smi, 그래픽 드라이버 연결 문제 해결 (0) | 2022.09.15 |
[Ubuntu] SSH Server 접속 오류 해결 (0) | 2022.09.06 |
[ Debugging ] Size of tensors must match except in dimension 에러 해결 (0) | 2022.07.15 |