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

조성욱님의 프로필 이미지
조성욱

작성한 질문수

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

1-J

9375번 질문입니다

작성

·

25

·

수정됨

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요!

 

t가 2번째에서 t가 1번째 옷의 종류와 겹칠 수 있을 경우의 수가 있을 거 같아요

 

_map.clear()는 안해도 되는건가요?

답변 2

0

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

안녕하세요 성욱님ㅎㅎ

    while(t--){
        map<string, int> _map;

이렇게 맵을 테스트케이스마다 새로이 정의하기 때문에 clear는 필요없습니다.

 

감사합니다.

0

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

조성욱님, 코딩 테스트에서 BOJ 9375번 (패션왕 신해빈) 문제의 주요 포인트는 각 옷의 종류별 개수를 활용해 조합의 수를 계산하는 것입니다. 문제를 푸는 과정에서 사용한 데이터 구조를 정확히 관리하는 것이 중요해요.

질문 주신 부분에 대해 설명드리겠습니다:

  1. 옷의 조합 계산:
    이 문제에서는 서로 다른 옷의 종류를 착용할 경우를 조합해서 전체 경우의 수를 찾는 것이 목적입니다. 종류마다 한 개의 의상을 선택하거나 선택하지 않는 경우(아무것도 착용하지 않는 경우 포함)가 있기 때문에, 옷의 종류마다 (해당 종류의 옷 개수 + 1)로 조합할 수 있습니다. 최종 조합 수에서는 모든 종류에서 아무것도 착용하지 않은 경우(즉 모든 종류에서 선택지를 선택하지 않은 경우)를 빼주어야 합니다.

  2. Map 초기화 (_map.clear()):
    각 테스트 케이스마다 초기화를 해주지 않으면, 이전 케이스에서 사용한 데이터가 남아 다음 케이스에 영향을 미칠 수 있습니다. 그렇기 때문에 map.clear()는 각 테스트 케이스가 시작될 때 호출하여 이전 데이터를 제거해주는 것이 좋습니다.

만약 유사한 질문에 대해 더 많은 정보를 찾고 싶으시면, 다음의 기존 논의들을 참고하시면 좋습니다:

이 질문들에서 동일한 코딩 테스트에서 발생할 수 있는 변수 초기화 및 로직 관련 문제들에 대해 이해할 수 있습니다.

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

조성욱님의 프로필 이미지
조성욱

작성한 질문수

질문하기