반응형
문제
https://leetcode.com/problems/largest-number-after-digit-swaps-by-parity/description/
해설
정렬을 활용하여 해결할 수 있는 문제였다.
class Solution:
def largestInteger(self, num: int) -> int:
num_str = str(num)
odd_digits = sorted([d for d in num_str if int(d) % 2 == 1], reverse=True)
even_digits = sorted([d for d in num_str if int(d) % 2 == 0], reverse=True)
result = []
for digit in num_str:
if int(digit) % 2 == 1:
result.append(odd_digits.pop(0))
else:
result.append(even_digits.pop(0))
return int("".join(result))
반응형