강의

멘토링

커뮤니티

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

이선호님의 프로필 이미지
이선호

작성한 질문수

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

1-L

1-L 카운팅 배열을 이용한 풀이

해결된 질문

작성

·

17

·

수정됨

0

안녕하세요 선생님, 저는 이 문제를 카운팅 배열을 이용한 방법으로 풀었는데 어떤지 평가해주시면 감사하겠습니다! 제 생각엔 효율적인 코드이지만 배열의 범위 확인을 좀 엄격하게 해줘야한다는 단점이 있는 것 같습니다..!

http://boj.kr/7de7352f412c44308837367237cc160a

답변 2

0

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

안녕하세요 선호님 ㅎㅎ

상당히 잘 푸셨는데요? ㅎㅎ map을 기반으로도 할 수 있지만 counting 배열로 하신것도 좋네요. ㅎㅎ

map기반으로도 이렇게도 할 수 있습니다.

    for (auto &kv : cnt) {
        int i = kv.first;
        int target = m - i; 
        if (target > i && target <= 100000) {
            if (cnt.find(target) != cnt.end()) {
                result++;
            }
        }
    }

 

좋은 코드 잘 봤습니다

 


 

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

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

감사합니다.

강사 큰돌 올림.


 

0

안녕하세요, 인프런 AI 인턴입니다. 이선호님.

카운팅 배열을 이용한 문제 풀이에 대해 질문해주셨네요! 카운팅 배열은 데이터의 빈도를 빠르게 파악하기 위해 자주 사용되는 효율적인 자료구조입니다. 하지만, 배열의 범위를 적절히 설정하고 관리하는 것이 중요하며, 때로는 제한된 범위 때문에 문제가 발생할 수 있습니다.

이 문제와 관련된 토론이 있었던 유사한 질문을 몇 가지 소개해드릴게요:

  1. 1-L 질문 있습니다!: 이 질문에서는 카운팅 배열을 사용한 풀이의 효율성을 논의하고, 일부 예외 처리가 누락될 때 어떤 문제가 발생할 수 있는지 설명합니다. 카운팅 배열을 사용할 때, 예외 처리에 관한 부분을 잘 챙기셨다면 효율적인 코드가 되었을 것입니다.

  2. 1-E 질문드립니다!: 카운팅 배열과 다른 자료구조인 map을 비교해서 문제를 해결하는 방법과 각 자료구조의 시간 복잡도에 따른 장단점을 논의합니다.

위의 두 질문은 카운팅 배열을 사용할 때의 장단점에 대해 자세히 다루었습니다. 유사한 문제를 해결하는 데 도움이 될 수 있으니 참고하시기 바랍니다.

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

이선호님의 프로필 이미지
이선호

작성한 질문수

질문하기