
문제
- 백준 알고리즘 문제
17608. 막대기- 문제 내용 : [링크]
내가 작성한 코드
def solution(sticks): answer = 1 lmax = sticks[-1] for i in range(len(sticks)-2, -1, -1): if sticks[i] > lmax: answer += 1 lmax = sticks[i] return answer
sticks의 값들을 완전탐색 하면서, lmax 값보다 큰 막대기의 길이가 있는 경우, 오른쪽에서 볼 때 막대기가 보이므로 answer에 그 개수를 반영해준다. 그리고 lmax의 값을 업데이트 해 준다.
for문 반복을 할 때, sticks의 제일 마지막 항부터 시작해야 하므로,
for i in range(len(sticks)-2, -1, -1):로 코드를 작성해주었다.
for문에서 for x in range(시작 값, 종료 값, step)의 구조를 기억해둘 것!