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

안창완님의 프로필 이미지
안창완

작성한 질문수

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

3-M

3-m

해결된 질문

작성

·

26

0

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

 

저는 이 문제를 조합으로 풀려고 시도했는데 조합으로 풀 수가 없나요??
다른 분들 풀이를 보니까 순열로만 푸시는데 조합으로는 풀 수 있는지 궁금합니다.

답변 2

0

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

안녕하세요 창완님 ㅎㅎ

저는 이 문제를 조합으로 풀려고 시도했는데 조합으로 풀 수가 없나요??
다른 분들 풀이를 보니까 순열로만 푸시는데 조합으로는 풀 수 있는지 궁금합니다.

-> 이거는 순서가 중요하기 때문에 순열로 풀어야 합니다. 예를 들어 >, <를 1개씩 뽑는다고 해볼게요. 근데 여기서 a < b > c랑 a > b < c는 다르게 취급이 되죠? 이 때문입니다.

 

감사합니다.

0

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

조합과 순열은 문제의 성격에 따라 각기 다른 시간 복잡도와 케이스에 대응하기 때문에, 어떤 기법이 더 적절한지는 문제의 조건에 크게 의존합니다. 조합과 순열의 차이를 간단히 설명드리자면:

  • 조합(Combination): 순서가 중요하지 않고, 특정 개수의 요소를 선택하는 경우.
  • 순열(Permutation): 순서가 중요하며, 특정 개수의 요소를 선택 및 배열하는 경우.

질문에서 “조합으로 풀려고 시도”하셨다는 문제는, 아마도 “순서가 아닌 특정 개수의 선택”이 초점이 맞춰져 있었을 것입니다. 하지만 다른 분들이 해당 문제를 “순열”로 접근했다면, 그 문제는 순열의 특성이 더 잘 맞아떨어지는 문제일 가능성이 높습니다.

만약 조합으로 접근하기 위해서는:

  1. 중복 제거: 순서 무시를 기본으로 하기 때문에, 선택된 요소의 중복을 고려할 필요가 없습니다.
  2. 부분 문제로 나누기: 주어진 문제를 요소들을 선택하는 작은 문제들로 나누어 해결할 수 있는지, 그 과정에서 효율적인 계산이 가능한지 확인하세요.

추가로, 관련 질문들을 참고하시면 도움이 될 것입니다:

이와 같은 방법으로 문제의 성격에 따른 적절한 풀이 방식을 찾을 수 있기를 바랍니다. 만약 정확한 문제 설정과 코드에 대한 리뷰가 필요하시다면, 추가 설명과 함께 질문을 주시면 보다 구체적인 답변을 드리겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

안창완님의 프로필 이미지
안창완

작성한 질문수

질문하기