1번 체크카드
import sys
from collections import deque
input = sys.stdin.readline
n, m = map(int, input().split())
wait = deque()
def checkcard(t,check, k):
if check == 'deposit':
t = t+k
elif check == 'pay':
if t-k >=0:
t = t-k
else:
return t
elif check =='reservation':
if t-k>=0:
t = t-k
elif (t-k<0) or len(wait):
wait.append([check, k])
return t
for i in range(m):
if len(wait):
c, m = wait.popleft()
if n>=m:
n = checkcard(n,c,m)
else:
wait.appendleft([c,m])
check, money = input().split()
k = int(money)
n = checkcard(n, check, k)
print(n)
근데 2개정도인가에서 fail 떴다.
2번
런타임 에러 뜸 ㅋㅋㅋㅋㅋ 아무리 생각해도 queue나 stack을 써야함
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
import sys
input = sys.stdin.readline
import numpy
n = int(input())
dx = [0,0,1,-1]
dy = [1,-1,0,0]
mat = [list(map(int, input().split())) for _ in range(n)]
cnt = 0
count = 1
total = sum(mat,[])
while sum(total) !=0:
for i in range(n):
for k in range(n):
for t in range(n):
nx = i+dx[t]
ny = k+dx[t]
if 0<nx<n and 0<=ny<n:
if mat[nx][ny] ==0:
cnt +=1
if mat[i][k]-cnt>=0:
mat[i][k] -=cnt
else:
mat[i][k]=0
total = sum(mat, [])
count +=1
print(count)
3번은 손도 안댔고
4번은 경우의 수 문제인데 모르겟다...ㅠ
'Python > 코딩 테스트' 카테고리의 다른 글
알고리즘 먼데이 4주차 해설 (0) | 2022.10.31 |
---|---|
알고리즘먼데이 4주차 해설 (0) | 2022.10.31 |
알고리즘 먼데이 3주차 챌린지 (0) | 2022.10.25 |
알고리즘 먼데이 2주차 3번 출석부 문제 해결했다 이말이야 (0) | 2022.10.18 |
알고리즘 먼데이 3주차 Python (0) | 2022.10.18 |