Today Sangmin Learned
[Python] BOJ(백준) 16496번 - 큰 수 만들기
CS/알고리즘 2022. 2. 20. 22:19

링크 https://www.acmicpc.net/problem/16496 난이도 플래티넘5 풀이 functools 모듈의 cmp_to_key를 사용했다. 이 cmp_to_key는, 람다로는 불가능한 두 연산값들끼리의 비교를 할 때 유용하게 사용할 수 있다. 우선 문제 자체에 대해서는 그냥 수들을 이어붙여서 최댓값을 만들기만 하면 되는 문제였는데, 어떻게 최댓값을 만드는지를 생각하기가 어려운 문제였다고 생각한다. 결론부터 이야기하면 직접 두 숫자 a, b를 ab, ba 형태로 붙여봤을 때 값이 더 큰 경우에 해당하는 숫자가 앞으로 오도록 정렬 기준을 설정하면 된다. 그리고 이 ab와 ba의 크기를 비교하는 것을 cmp_to_key로 할 수 있다. arr내의 두 값을 이어 붙인 값이 클수록 앞으로 위치하게 ..