인프런 커뮤니티 질문&답변

ehdtjqzz님의 프로필 이미지
ehdtjqzz

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

4. 가장 높은 탑 쌓기(LIS 응용)

LIS 관련 질문입니다.

작성

·

89

0

안녕하세요.

가장 높은 탑 쌓기 문제에서는 정렬을 해주었는데요!

직전 LIS 문제에서는 정렬을 따로 해주지 않았더라구요.

물론 직전 문제에서 정렬을 한다면 알고리즘을 적용할 이유는 없지만, 굳이 정렬을 안 한 이유를 꼽자면 위치를 바꿀 수 없는 완성된 수열이 입력으로 들어왔다는 가정이기 때문인지 궁금합니다.

 

읽어주셔서 감사합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

LIS(최장 증가 부분 수열) 관련 질문에 대해 설명드리겠습니다.
직전 LIS 문제에서 정렬을 따로 하지 않은 이유는, 말씀하신 것처럼, 위치를 바꿀 수 없는 완성된 수열이 입력으로 주어지기 때문입니다. 최장 증가 부분 수열 문제의 목적은 주어진 수열의 요소 순서를 유지하면서, 수열 내에서 증가하는 부분을 최대로 만드는 것입니다.
따라서, 수열의 원래 순서를 변경하는 정렬을 하면 문제의 조건을 벗어나게 되므로 정렬을 사용하지 않습니다.
가장 높은 탑 쌓기 문제와 같은 경우는, 문제의 조건이나 특성에 따라 사전 정렬이 도움이 되는 상황에서 사용됩니다.

감사합니다.

ehdtjqzz님의 프로필 이미지
ehdtjqzz

작성한 질문수

질문하기