Hikenny25
1일차 - 전기버스 본문
def is_done(x):
if x >= n:
return True
else:
return False
t = int(input())
answer = list()
for _ in range(t):
k, n, m = map(int, input().split())
stop = [False for _ in range(n)]
l = list(map(int, input().split()))
for var in l:
stop[var-1] = True
location, cnt = k, 0
while(not is_done(location)):
except_var = 0
for i in range(k):
if stop[location-1] == True:
cnt += 1
break
else:
location -= 1
except_var += 1
pass
if(except_var == k):
cnt = 0
break
else:
location += k
answer.append(cnt)
for i in range(t):
print(f"#{i+1} {answer[i]}")
머리 풀기 좋은 문제..
k만큼 간 후 정류장이 있으면 바로 진행, 없으면 -1씩 뒤로 가며 정류장을 찾으면 즉시 진행하는 알고리즘을 짜서 구현했다. 불가능한 케이스일 때 0을 출력하는 걸 구현하는데 생각이 잠시 멈췄지만 그냥 변수(except_var) 추가해서 풀이했음!
'SW Expert Academy > Programming - Intermediate' 카테고리의 다른 글
2일차 - 부분집합의 합 (1) | 2023.12.08 |
---|---|
2일차 - 색칠하기 (1) | 2023.12.08 |
1일차 - 구간합 (1) | 2023.12.08 |
1일차 - 숫자 카드 (1) | 2023.12.08 |
1일차 - min max (1) | 2023.12.08 |
Comments