728x90
반응형
https://www.acmicpc.net/problem/16496
1. Logic
정렬을 할 때 a에 b를 합친 문자열과 b에 a를 합친 문자열을 비교하여 더 큰 값을 가진 문자열을 비교하여 정렬한다.
2. Code
#include <bits/stdc++.h>
using namespace std;
int n;
vector<string> input;
bool cmp(string a, string b) {
if(a == b) return a < b;
string ab = a + b;
string ba = b + a;
if (ab > ba)
return true;
else
return false;
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin >> n;
bool check = false;
for (int i = 0; i < n; i++) {
string a;
cin >> a;
input.push_back(a);
if (a != "0")
check = true;
}
if (!check)
cout << 0;
else {
sort(input.begin(), input.end(), cmp);
for (int i = 0; i < n; i++) {
cout << input[i];
}
}
}
3. Feedback
처음에 끝자리가 0인 수를 받아서 정렬했더니 정렬이 마음대로 안되어서 배열을 하나로만 사용한 다음 정렬했더니 풀렸다!
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 1948 임계경로 C++ :: BFS & Topological sort (1) | 2023.10.02 |
---|---|
[백준/Baekjoon] 1167 트리의 지름 C++ :: Graph & DFS (0) | 2023.10.02 |
[백준/Baekjoon] 10775 공항 C++ :: Union-Find (0) | 2023.10.02 |
[백준/Baekjoon] 1043 거짓말 C++ :: Union find (0) | 2023.10.01 |
[백준/Baekjoon] 1208 부분수열의 합 2 C++ :: Binary Search (1) | 2023.09.30 |