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

욕망의햄버거님의 프로필 이미지
욕망의햄버거

작성한 질문수

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

2-H 코드 질문..!

작성

·

221

·

수정됨

0

안녕하세요 큰돌님

늘 강의에 신경써주셔서 감사합니다.

 

2-H, 2659번 비밀번호 발음하기, 코딩하다가 틀렸다고 나와서.. 질문드리려고 합니다.

 

문제에 대한 강의도 확인했구요. 로직도 이해한 상태입니다.

그런데 제 코드를 봤을 땐, 어디서 오류가 났는지.. 반례를 도저히 못 찾겠어서 글을 써 봅니다.

 

혹시 제 코드에서 로직 오류가 있는지 피드백 주실 수 있으실까요?

코드 길이나, 반례 등 어떠한 피드백 전부 환영입니다.

 

제 코드는 링크로 첨부하겠습니다.

감사합니다.

 

http://boj.kr/b1f8019ccf3d4f03ac0de822cb532282

답변 1

1

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

안녕하세요 ㅎㅎ 진살님 ㅎㅎ

이부분이요.

cnt 배열 매번 초기화 해줘야 하는 것 아닐까요?

bool c1(string s){
    bool flag = true;
    for (int i = 0; i < s.size(); i++)
    {
        cnt[s[i] - 'a']++;

 

아 그리고 이부분은 잘 짜셨는데요. (틀렸다는 건 아닙니다.)

 if(a >= 3 || b >= 3){
                flag = false;

이거를 이렇게 고치면 더 명시적일 거같아요.

 if(a == 3 || b == 3){
                flag = false;

나머지 부분들은 다 좋습니다.

c1, c2, c3 분할하신 것도 너무 잘 짜셨네요. ㅎㅎ

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

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

감사합니다.

강사 큰돌 올림.

피드백 감사합니다!
말씀하신대로 cnt[] 초기화 하는 라인을 주니까 해결되었습니다!!

욕망의햄버거님의 프로필 이미지
욕망의햄버거

작성한 질문수

질문하기