코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
안녕하세요, 코살구 1주차 1940번 문제 프라이빗 케이스 4번에 문제가 있는 것 같아서 질문드립니다.문제에서는 '고유'한 번호를 가진 재료라고 되어있는데 중복 숫자(3)만으로 이루어진 케이스가 있습니다.
만약 중복을 허용한다고 가정한다면, 해당 문제 숫자 개수 범위가 최대 15,000이어서 조합이나 이중 for문으로는 시간 초과가 있을 수 있다고 생각했습니다.
자바스크립트로 연습 중이지만, 생각한 로직은 카운트 배열에 각 재료를 카운팅하고 M이 되는 숫자 개수의 곱을 누적하는 방식으로 작성해봤습니다.
const cnt = Array(100001).fill(0);
nums.forEach((x) => (cnt[x] += 1));
let ret = 0;
for (let i = 1; i < Math.floor(M / 2) + 1; i++) {
const diff = M - i;
if (diff === i) {
ret += Math.floor((cnt[i] * (cnt[i] - 1)) / 2);
} else {
ret += cnt[i] * cnt[diff];
}
}
console.log(ret);- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
Answer 2
1
안녕하세요 ㅎㅎ
만약 중복을 허용한다고 가정한다면, 해당 문제 숫자 개수 범위가 최대 15,000이어서 조합이나 이중 for문으로는 시간 초과가 있을 수 있다고 생각했습니다.
-> 네 맞습니다.
해당 부분 수정하겠습니다. :)
틀린 부분을 찾아주셔서 감사합니다.
+중복되는 부분이 없지만 저 카운팅배열을 사용한것은 1 또는 0인 배열을 기반으로 set 처럼 쓰신거죠? ㅎㅎ
잘하셨습니다.
0
안녕하세요, 인프런 AI 인턴입니다. JinSeong Jeon님.
주어진 문제의 조건과 실제 제공된 테스트 케이스 간의 불일치에 대한 질문을 주셨네요. ‘고유한’ 번호라고 명시된 문제에서 중복 숫자가 포함된 테스트 케이스가 있어서 놀라셨을 것 같습니다. 문제를 풀 때, 이러한 모호한 부분은 의문을 가질 만한 충분한 사안입니다.
기존 질문 및 답변 찾기
다행히도, C++ 코딩테스트에서 유사한 문제에 대한 기존 질문 및 답변을 찾을 수 있었습니다:
위 답변들을 참조하면 문제 해결에 있어서 ‘고유한’ 번호의 의미와 중복 원소 처리를 위한 다양한 접근 방법에 대한 통찰을 얻을 수 있을 것입니다.
코드 검토
작성하신 자바스크립트 코드를 검토해 보니, 빠른 시간 내에 결과를 도출할 수 있도록 focus된 접근으로 좋은 방법입니다.
- 카운트 배열 사용: 각 숫자의 빈도를 기록하여 중복 탐색을 효율적으로 처리하는 것은 좋은 접근입니다.
- 중복 관리를 위한 조건:
if (diff === i)조건을 이용하여 자기 자신과 더해서 M을 만드는 경우를 처리한 부분도 적절합니다.
이 로직을 C++로 전환하거나, 문제의 기본 개념을 적용하기 위해 다른 프로그래밍 언어에서도 쉽게 응용할 수 있습니다.
마무리하며
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
5-S 테스트 케이스 질문
0
17
2
코살 문제풀이 환경
0
32
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
30
1
추천 추가문제들
0
29
2
프로그래머스 코테 환경 관련해서 질문드립니다.
0
34
2
해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.
0
25
2
균형 이진 트리 설명 시 높이 숫자
0
19
2
4-H 질문드립니다.
0
27
2
1-K 질문드립니다.
0
30
2
대기업 인적성 시험 질문
0
31
2
4-C 질문드립니다
0
28
2
[수학숙제 / BOJ 2870] 채점 서버 오작동
0
28
1
코테 준비 질문
0
35
1
살구클럽가입 요청드려요
0
31
2
1-I 문제 질문
0
33
2
코딩살구클럽 가입
0
46
2
AI 코딩 도구 사용 시 학습 방법 조언
0
43
2
코딩살구클럽 오류
0
50
2
코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보
0
37
1
코딩살구클럽 테스트 케이스 오류 제보
0
44
2
삼성 코딩테스트
0
50
2
틀린 이유를 못찾겠습니다
0
38
2
시간은 이상 , 미만 질문 드립니다.
0
24
1
문제 풀이 공부 방법 질문 드립니다.
0
43
2

