02/21 알고리즘 문제풀이 - 17608. 막대기

Data Architect / Engineer·2024년 2월 21일

1일_1알고리즘

목록 보기
1/21
post-thumbnail

문제

  • 백준 알고리즘 문제
  • 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)의 구조를 기억해둘 것!

profile
질문은 계속돼 아오에

0개의 댓글