작성한 질문수
입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
도전 과제 (BOJ 사이트 문제)
작성
·
178
0
안녕하세요 선생님 막대기 알고리즘 풀이법에 질문있습니다
for i in range(len(stick)-2, -1, -1):
if stick[i] > maxN: maxN = stick[i]
answer += 1
return answer
이부분에서 len(stick)-2 를 해주는 이유가 무엇인지 질문드립니다. 감사합니다.
답변 1
안녕하세요^^
stick 에 첫 번째 막대기가 0번 인덱스부터 입력되었으니 마지막 막대기는 len(stick)-1번 인덱스에 입력되어 있습니다. 마지막 막대기(len(stick)-1번 인덱스에 있는 막대기)는 무조건 보이니까 answer = 1로 초기화 했던거고, 보이는지 안보이는지 판단해야 할 막대기는 len(stick)-2인덱스에 있는 막대기부터 0번 인덱스에 있는 막대기까지입니다.