작성
·
94
0
저는 deque를 사용해서 풀었는데 이 풀이 방법이 괜찮나요??
#include <bits/stdc++.h>
using namespace std;
string name;
int cnt[26];
deque<char> answer;
int main() {
cin.tie(0)->sync_with_stdio(0);
cin >> name;
for (int i = 0; i < name.size(); i++) {
cnt[name[i] - 'A']++;
}
int check = 0;
for (int i = 0; i < 26; i++) {
if (cnt[i] % 2 == 1) {
check++;
answer.push_back('A' + i);
cnt[i]--;
}
if (check > 1) {
cout << "I\'m Sorry Hansoo";
return 0;
}
}
for (int i = 25; i >= 0; i--) {
while (cnt[i] > 0) {
answer.push_back('A' + i);
answer.push_front('A' + i);
cnt[i] -= 2;
}
}
while (!answer.empty()) {
cout << answer.front();
answer.pop_front();
}
return 0;
}
답변 1
0
안녕하세요 지욱님 ㅎㅎ
입력초기화, 변수 설정,
cnt[name[i] - 'A']++;
카운팅하는 것.
홀수개수 처리하는 로직 등
모두 잘하셨습니다. ㅎㅎ
좋은 코드네요.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.