[Python] 22114. 창영이와 점프

2023. 5. 17. 03:45·study/백준(BOJ)
728x90

https://www.acmicpc.net/problem/22114

 

22114번: 창영이와 점프

창영이는 버스에서 내린 뒤 회사로 걸어가고 있다. 창영이가 걸어가는 길은 대부분 회색 보도블럭으로 포장되어 있는데, 가끔씩 빨간 보도블럭이 놓여있을 때가 있다. 창영이는 어린 시절 빨간

www.acmicpc.net

 

접근법

  • 입력으로 i번과 i+1번 간 길이들이 주어지기 때문에 L_list에 0번째에 0을 넣어줌
  • result[0]에는 점프를 하지 않은 경우를, result[1]에는 점프를 한 경우를 dp를 활용하여 저장
    • result[0][i] : 점프를 하지 않고 i에 도달했을 때 밟은 블록 수
    • result[0][j] : 점프를 1번 하고 i에 도달했을 때 밟은 블록 수
def input_func():
    N, K = map(int, input().split())
    L_list = [0] + list(map(int, input().split()))
    return N, K, L_list

def solution(n, k, l_list):
    result = [[0 for _ in range(len(l_list))] for _ in range(2)]
    # result[0] : 점프를 하지 않은 경우
    # result[1] : 점프를 한 경우
    result[0][0] = 1
    result[1][0] = 1
    max = 0
    
    for i in range(len(l_list)):
        if l_list[i] <= k: # 이동 가능한 경우
            result[0][i] = result[0][i-1] + 1
            result[1][i] = result[1][i-1] + 1
        else: # 이동 불가능한 경우
            result[0][i] = 1 # 첫 블록으로 초기화
            result[1][i] = result[0][i-1] + 1 # 점프를 하지 않고 i-1번째에 도착한 경우 + 1

        # 최대값 저장
        if result[0][i] > max:
            max = result[0][i]
        if result[1][i] > max:
            max = result[1][i]
    print(max)


def main():
    n, k, l_list = input_func()
    solution(n, k, l_list)

if __name__ == '__main__':
    main()


사용된 알고리즘

다이나믹 프로그래밍

728x90

'study > 백준(BOJ)' 카테고리의 다른 글

[Python] 1679. 숫자놀이  (0) 2023.05.17
[Python] 2458. 키 순서  (1) 2023.05.17
[Python] 1325. 효율적인 해킹  (0) 2023.05.12
[Python] 1541. 잃어버린 괄호  (0) 2023.05.12
[Python] 1759. 암호 만들기  (0) 2023.05.12
'study/백준(BOJ)' 카테고리의 다른 글
  • [Python] 1679. 숫자놀이
  • [Python] 2458. 키 순서
  • [Python] 1325. 효율적인 해킹
  • [Python] 1541. 잃어버린 괄호
bbooo
bbooo
  • bbooo
    bbooo
    bbooo
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • study (61)
        • 백준(BOJ) (34)
        • Programmers (15)
        • LeetCode (9)
      • AI (4)
        • Paper (0)
      • SSAC X IFFEL (4)
        • DeepML (1)
        • 밑바닥 부터 시작하는 딥러닝 (2)
      • 회고 (46)
      • Error (10)
      • Setting (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백트래킹
    Counter
    투포인터
    99클럽
    개발자 취업
    그리디 알고리즘
    sort
    set
    파이썬 석유시추
    백준 2470
    파이썬
    코딩테스트 준비
    프로그래머스 석유시추
    브루트포스
    항해99
    programmers 과제 진행하기
    파이썬 과제 진행하기
    문자열을 원하는 길이로
    python 과제 진행하기
    typeerror: sequence item 0: expected str instance int found
    programmers 석유시추
    docker
    두 포인터
    LeetCode
    sequence item 0: expected str instance int found
    vscode
    Til
    풀이 실패
    백준
    python 석유시추
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
bbooo
[Python] 22114. 창영이와 점프
상단으로

티스토리툴바