728x90
반응형
문제 출처 : www.acmicpc.net/problem/20055
문제 풀이:
- 최근 삼성 기출 중 가장 쉬운 난이도라고 생각합니다.
- 전 상반기에 DS를 써서 오전에 코딩테스트를 봣었는데 그땐 도미노미노 같은 문제가 나와버리는 바람에 조금 당황했었는데 무슨이유인지 하반기는 무척 쉽게 나왔네요 오전이
- 딱히 함정도 없고 그냥 시키는대로 잘 구현하면 될 것 같습니다.
- 다만 PyPy3로 제출시엔 정답으로 나오지만 python3로 제출시엔 시간초과로 나옵니다. (이부분은 왜 그런지 조금 더 생각해보아야 할 것 같습니다.)
from collections import deque
import sys
input = sys.stdin.readline
n,k = map(int,input().split())
A = deque(map(int,input().split()))
ans =1
#robot이 들어온 순서대로 현재 자신의 위치를 담고있는다
robot =deque([0]*(n*2))
while(True):
#1
A.rotate(1)
robot.rotate(1)
robot[n-1]=0 #내려가는 위치에 로봇 삭제
#2
for i in range(n-2,-1,-1):
if(robot[i]!=0 and robot[i+1]==0 and A[i+1]>=1):
A[i+1]-=1
robot[i+1]=robot[i]
robot[i]=0
robot[n-1]=0
#3
if(robot[0]==0 and A[0]>0):
A[0]-=1
robot[0]=1
#4
cnt=0
for i in range(len(A)):
if(A[i]==0):
cnt+=1
if(cnt>=k):
print(ans)
break
ans+=1
반응형
'Computer Science > Algorithm' 카테고리의 다른 글
[백준] 20057 - 마법사 상어와 토네이도(Python) (0) | 2020.12.07 |
---|---|
[백준] 20056 - 마법사 상어와 파이어볼(Python) (0) | 2020.10.29 |
[프로그래머스] 가장 먼 노드(Level3) (Python) (0) | 2020.10.11 |
[프로그래머스] 순위(Level3) (Python) (0) | 2020.10.11 |
[백준] 17142 - 연구소3(Python) (0) | 2020.10.11 |