SSAFY/SWEA

[SWEA] #4831. 전기버스_파이썬

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. 실제로 인덱스 오류로 스스로 푸는데 애먹었다. 윗 기믹은 교수님의 팁)

 

링크💎

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

후기 😎

  • 혼자 도전할 때 모든 순간에 대한 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