내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
프로그래머스
»
스티커 모으기(2)
ps:problems:programmers:12971
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 스티커 모으기(2) ====== * 같은 프로그래머스 사이트에 있는, [[ps:problems:programmers:42897|도둑질]]과 동일한 문제이다. * 문제 이름이 스티커 모으기(2) 인데, 정작 스티커 모으기(1)은 사이트에서 찾을 수가 없다. ===== 풀이 ===== * [[ps:problems:programmers:42897|도둑질]] 참고 * 이 문제가 [[ps:problems:programmers:42897|도둑질]]과 유일하게 다른 점은, n이 1인 경우도 인풋으로 올수 있기 때문에, 그 경우의 처리만 해줘야 한다는 것. 그것을 제외하고는 코드도 모두 동일하다 * 저 처리를 빼먹으면, 33번 테스트 케이스에서 실패한다. ===== 코드 ===== <dkpr py> """Solution code for "Programmers 12971. 스티커 모으기(2)". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/12971 - Solution link: http://www.teferi.net/ps/problems/programmers/12971 """ def solution(sticker): if len(sticker) == 1: return sticker[0] dp1, dp1_cur = [0, sticker[0]], max(sticker[0], sticker[1]) dp2, dp2_cur = [0, 0], sticker[1] for m in sticker[2:]: dp1[-1], dp1[-2] = dp1_cur, dp1[-1] dp2[-1], dp2[-2] = dp2_cur, dp2[-1] dp1_cur = max(dp1[-1], dp1[-2] + m) dp2_cur = max(dp2[-1], dp2[-2] + m) return max(dp1[-1], dp2_cur) </dkpr> {{tag>프로그래머스 ps:problems:programmers:Level_4}}
ps/problems/programmers/12971.txt
· 마지막으로 수정됨: 2021/01/21 15:32 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로