[25.03.18] algo 백준 12762 리뷰

25.03.18(Tue) 알고리즘 스터디 리뷰

문제 요약

풀이방식

수열을 입력받았을때 롤러코스터가 생성될수 있는 모양은 V, ↘, ↗ 세가지 모양이고 이때 가장 낮은 점을 기준으로 양쪽으로 LIS를 구한다음에 중복되는 부분을 제외하는 방식으로 풀 수 있었다. 기본적인 아이디어는 이러하지만, 하나의 index를 기준으로 양쪽 LIS를 구하고 index값 하나를 빼주면 되는 문제였다. 여러번의 시도 끝에 틀렸었는데 LIS를 양쪽으로 하고 무조건 들어가는 중복을 제거를 제대로 하지 못해서 문제가 생겼다.

인덱스 0 인덱스 1 인덱스 2 인덱스 3 인덱스 4 인덱스 5 인덱스 6 3 1 4 5 2 6 9 왼쪽으로 증가 (역방향) 값 [3, 1] 오른쪽으로 증가 값 [2, 6, 9] 3 1 5 6 9 최종 바이토닉 수열: [3, 1, 5, 6, 9] 길이: 2 + 3 = 5 (중복 제거)

결과 코드

BOJ12762