728x90
반응형
풀기 전 생각해보기😮
- 정답을 도출하는데 필요한 조건만 구현하기
- 인덱스 주의
풀이🛫
T = int(input())
for t in range(T):
K, N, M = map(int, input().split())
station = [0] + list(map(int, input().split())) + [10]
curIdx = 0 # 현재의 위치
charCnt = 0 # 충전 횟수
for i in range(1, M+2):
# 목적지에 도달할 수 없는 경우
if station[i] - station[i-1] > K:
answer = 0
break
if curIdx + K < station[i]:
curIdx = station[i]
charCnt += 1
print(f"#{t+1}", charCnt)
핵심 정리🎁
# 1
station = [0] + list(map(int, input().split())) + [10]
# 2
if station[i] - station[i-1] > K:
answer = 0
break
if curIdx + K < station[i]:
curIdx = station[i]
charCnt += 1
- #1 : 출발지와 목적지 인덱스를 주유소 리스트에 추가하는 기믹(?)을 사용할 수 있다.
사람과 컴퓨터가 인식하는 인덱스 차이로 인해 발생하는 여러 오류들을 해결하는데 큰 도움이 된다
(cf. 실제로 인덱스 오류로 스스로 푸는데 애먹었다. 윗 기믹은 교수님의 팁)
링크💎
후기 😎
- 혼자 도전할 때 모든 순간에 대한 gas_gauge를 구하고 하나씩 감소시켜가면서 목적지에 도달하는 코드를 구현하려다 실패했다. 특히 인덱스 때문에 노력을 쏟았음에도 불구하고 7/10 부분 정답을 도출하는게 한계였다.
- 무턱대고 도전했다가는 코드가 쓸데없이 길어진다. 코드가 길어지면 실수가 발생하기 쉽다. 문제 풀기전에 잠자코 어떻게 만들것인지 구상부터 하고 도전할 것
- 한밤중에 디스코드로 교수님, 반 친구들 몇명과 노가리 타임이 생겼다. 코딩도, 알고리즘도 좋지만 사람 사는 얘기 듣는게 역시나 재밌다.
'SSAFY > SWEA' 카테고리의 다른 글
[SWEA] #12712. 파리퇴치3_파이썬 (0) | 2022.08.16 |
---|---|
[SWEA] 1959. 두 개의 숫자열 (0) | 2022.08.15 |
[SWEA] #1211. Ladder2_파이썬 (0) | 2022.08.11 |
[SWEA] #1210. Ladder1_파이썬 (0) | 2022.08.11 |
[SWEA] 1954. 달팽이 숫자_파이썬 (0) | 2022.08.09 |