Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 179. Largest Number 본문
728x90
반응형
https://leetcode.com/problems/largest-number/description/?envType=daily-question&envId=2024-09-18
leetcode - Largest Number
문제 유형 : 문자열 처리, 정렬
문제 난이도 : Medium
문제
Given a list of non-negative integers nums, arrange them such that they form the largest number and return it.
Since the result may be very large, so you need to return a string instead of an integer.
음이 아닌 정수 nums를 받는다. 이 수들을 나열하여 만들 수 있는 가장 큰 수를 구하시오.
결과가 커질 수 있으니, 문자열로 주시오.
풀이
사용자 지정 정렬을 이용하면 된다.
정렬의 기준은, 두 숫자를 문자열로 만들어서 합쳤을 때, 더 큰 경우가 앞에 오도록 하면 된다.
그 뒤, 숫자들을 접합시키면 된다.
정렬된 수들중에서 맨앞이 0이면 그냥 "0"을 반환하면 된다.
코드
C++
#pragma GCC optimize("03", "unroll-loops");
static const int __ = [](){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
return 0;
}();
class Solution {
public:
string largestNumber(vector<int>& nums) {
sort(nums.begin(), nums.end(), [](auto &a, auto &b){
string A = to_string(a);
string B = to_string(b);
return A + B > B + A;
});
if(nums[0] == 0) return "0";
string ans = "";
for(auto &num : nums) {
ans += to_string(num);
}
return ans;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 214. Shortest Palindrome (0) | 2024.09.20 |
---|---|
[LeetCode] 241. Different Ways to Add Parentheses (0) | 2024.09.19 |
[LeetCode] 884. Uncommon Words from Two Sentences (0) | 2024.09.17 |
[LeetCode] 539. Minimum Time Difference (0) | 2024.09.16 |
[LeetCode] 1371. Find the Longest Substring Containing Vowels in Even Counts (0) | 2024.09.15 |