프로그래머스로 하다가 백준도 같이 하는게 좋을거같아서 컴백 백준!
- 수 정렬하기 2
https://www.acmicpc.net/problem/2751
import sys
n = int(input())
num = []
for _ in range(n):
num.append(int(sys.stdin.readline()))
num.sort()
for i in num:
print(i)
프로그래머스에서 풀었던 문제다. 괄호문제! '('는 스택 ')' 팝!
T = int(input())
for i in range(T):
stack = []
a=input()
for j in a:
if j == '(':
stack.append(j)
elif j == ')':
if stack:
stack.pop()
else: # 스택에 괄호가 없을경우 NO
print("NO")
break
else: # break문으로 끊기지 않고 수행됬을경우 수행한다
if not stack: # break문으로 안끊기고 스택이 비어있다면 괄호가 다 맞는거다.
print("YES")
else: # break안 걸렸더라도 스택에 괄호가 들어있다면 NO이다.
print("NO")
N = int(input())
array = set(map(int,input().split()))
M = int(input())
x = list(map(int,input().split()))
for i in x:
if i not in array:
print('0')
else:
print('1')
일단, 2와 3으로 나누어 떨어지지 않는 경우는 무조건 1을 빼야 하기 때문에 dp[i] = dp[i-1] + 1을 통해 횟수를 +1 추가 해준다. 그리고나서, dp[i]가 2 와 3으로 나누어 떨어지는 경우에는 1을 빼는 것 보다 나누어 떨어지는게 훨씬 이득이기 때문에 min(dp[i], dp[i//2]+1)을 통해 최소값을 선택하면 된다.
n = int(input())
dp = [0] * (n+1)
for i in range(2, n+1):
dp[i] = dp[i-1] + 1
if i % 2 == 0:
dp[i] = min(dp[i], dp[i//2]+1)
if i % 3 == 0:
dp[i] = min(dp[i], dp[i//3] + 1)
print(dp[n])
정렬 후 꺼내기. 끝!
n,k=map(int,input().split())
score=list(map(int,input().split()))
score.sort(reverse=True)
print(score[k-1])
언제 실버4까지 올랐지..? 이번 방학에 골드까지 찍어보는게 목표다!
할 수 있고 해낼 것이다!