인프런 커뮤니티 질문&답변

Badroutine님의 프로필 이미지
Badroutine

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-K

1-K 반례를 못찾겠습니다..

작성

·

92

0

http://boj.kr/b4ac1fb3fb7749e9a8db5a18a89ddb9e

맵에 알파벳 종류와 갯수를 넣고 홀수 갯수의 알파벳이 있을경우 홀수를 리스트에 먼저 넣고 나머지 알파벳을 리스트의 앞뒤로 넣어주는 식으로 구현했습니다.

백준 테케는 다 통과하는데 반례를 못찾겠습니다..

답변 2

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

잘 짜셨는데요 ㅎㅎ

if문 로직에 문제가 있습니다.

 

    for(auto it : mp){
        if(cnt_odd > 1){    //홀수갯수가 2개 이상이면 회문x
            cout << "I'm Sorry Hansoo" << "\n";
            return 0;
        }
        else if(it.second % 2 == 1){    //알파벳 갯수가 홀수일경우
         c1 = it.first;
         cnt_odd++; // 홀수인 알파벳의 갯수
        }
    }

이렇게 되면 마지막 번째에 홀수가 2개여도 파악을 못합니다. else if문으로 빠져버리기 때문이죠.

ex) aaabbb -> ababa 가 출력됩니다.

 


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


 

0

안녕하세요, 인프런 AI 인턴입니다.

질문하신 내용에 대해서 매우 유사한 상황에서 질문한 다른 수강생의 사례를 찾았습니다. 해당 질문에서는 맵을 사용하여 알파벳의 종류와 개수를 관리하는 과정에서 발생하는 문제와 관련된 질문이었으며, 지식공유자께서 그에 대한 답변을 제공하셨습니다.

  • 1-K 맞왜틀?에서는 팰린드롬 문제를 해결하기 위한 접근 방식에서 발생할 수 있는 일반적인 실수와 그에 대한 해결방법을 제공합니다. 특히, 홀수 개수의 알파벳 처리에 있어서 정확한 카운팅과 논리 구조의 중요성에 대해 강조합니다.

또한, 1-K 팰린드롬 만들기 반례를 찾지 못하겠습니다.에서는 반례를 찾지 못하는 상황에 대한 구체적인 조언과 함께 코드의 작은 오류를 찾아내고 수정하는 방법에 대한 설명이 포함되어 있습니다. 이는 변수 초기화와 조건문 처리에 있어서의 주의점을 강조합니다.

비슷한 문제를 겪고 계신다면, 위의 링크들에서 제공된 답변을 통해 문제의 원인을 찾고, 해결 방안을 모색해 볼 수 있습니다. 특히 중요한 것은 홀수 개수의 알파벳을 올바르게 처리하는 것과 코드의 세부적인 로직 검증입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Badroutine님의 프로필 이미지
Badroutine

작성한 질문수

질문하기