1-K 질문드립니다!
175
작성한 질문수 1
안녕하세요 강사님! 우선 강사님이 풀이하신 코드는 참고하였고, 제가 한 방식보다는 훨씬 효율적이고 이해하기 쉬운 코드였습니다.
다만, 제 코드는 왜 안되는지 이해는 하고 넘어가고 싶어서 질문 남깁니다ㅠㅠ 반례체크 하였고 타 온라인 프로그램에서 실행했을때 잘 나오는데 어디가 잘못 된건지 찾지를 못하겠어서요.. 알려주시면 정말 감사하겠습니다ㅠㅠ!!
using namespace std;
#include <iostream>
#include <map>
string name;
int front, back, count = 0;
char mid;
map<char,int> alpha;
bool possible = true;
int main() {
cin >> name;
string ret = "";
char palindrome[name.length()];
map<char,int>::iterator it;
for(char c : name) {
alpha[c]++;
}
// 이름길이가 짝수 일 경우
if(name.length() % 2 == 0) {
it = alpha.begin();
while(it != alpha.end()) {
// 홀수 존재하면 안됌
if(it->second % 2 != 0) {
possible = false;
}
it++;
}
if(possible) {
front = 0, back = name.length()-1;
for(it = alpha.begin(); it != alpha.end(); it++) {
while(it->second > 0) {
palindrome[front] = it->first;
palindrome[back] = it->first;
front++, back--, it->second -= 2;
}
}
}
}
// 이름길이가 홀수 일 경우
else {
it = alpha.begin();
while(it != alpha.end()) {
if(it->second % 2 != 0) {
// 홀수 한개만 존재 가능
if(count > 1) {
possible = false;
}
else {
mid = it->first;
it->second--;
count++;
}
}
it++;
}
if(possible) {
front = 0, back = name.length()-1;
for(it = alpha.begin(); it != alpha.end(); it++) {
while(it->second > 0) {
palindrome[front] = it->first;
palindrome[back] = it->first;
front++, back--, it->second -= 2;
}
}
palindrome[name.length()/2] = mid;
}
}
if(possible) {
for(int i = 0; i < name.length()-1; i++) {
ret += palindrome[i];
}
cout << ret << "\n";
}
else {
cout << "I'm Sorry Hansoo" << "\n";
}
return 0;
}
답변 1
1-E질문입니다!
0
531
2
3-L 틀린 부분 피드백 부탁드립니다.
0
833
2
1-A문제 순열재귀함수 질문입니다.
0
396
1
1-A 일곱난쟁이문제입니다
0
467
1
문제 풀 때 방향성에 대해
0
809
1
맥에서 vs code로 실행 관련 질문입니다
0
530
1
17071번 메모리 초과
0
389
1
1-C질문입니다!
0
427
2
2-B BFS 시간초과질문
0
637
2
1-O 13번 라인
0
445
1
6-J 놀이공원 문제 질문
0
388
1
구현관련 질문
0
490
1
강의 교안
0
321
1
실력을 더 올리고나서 강의를 보는 것이 맞을까요?
0
550
1
안녕하세요! 재귀함수에 관해서 질문드립니다
0
539
1
1-K
0
481
2
3-G번 질문있습니다.
1
479
3
3-C 실행 시간 질문드립니다.
0
502
1
4-A 문제 풀이 질문있습니다.
0
601
2
비트마스킹 연산자 "1의 보수" 영문 표기법
0
441
1
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
0
348
1
3-O go 함수 질문 드립니다.
1
452
2
4-A 출력 질문
0
306
1
1주차 1-O 질문드립니다
0
263
1





