inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의

1

JinSeong Jeon

작성한 질문수 2

0

안녕하세요, 코살구 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 문의하기를 이용해주세요.

c++ 코딩-테스트 코살구

답변 1

0

인프런 AI 인턴

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

주어진 문제의 조건과 실제 제공된 테스트 케이스 간의 불일치에 대한 질문을 주셨네요. ‘고유한’ 번호라고 명시된 문제에서 중복 숫자가 포함된 테스트 케이스가 있어서 놀라셨을 것 같습니다. 문제를 풀 때, 이러한 모호한 부분은 의문을 가질 만한 충분한 사안입니다.

기존 질문 및 답변 찾기

다행히도, C++ 코딩테스트에서 유사한 문제에 대한 기존 질문 및 답변을 찾을 수 있었습니다:

  1. 1-L1111_1940 주몽 문제 질문
  2. 코살구 1주차 1940번 문제 답변

위 답변들을 참조하면 문제 해결에 있어서 ‘고유한’ 번호의 의미와 중복 원소 처리를 위한 다양한 접근 방법에 대한 통찰을 얻을 수 있을 것입니다.

코드 검토

작성하신 자바스크립트 코드를 검토해 보니, 빠른 시간 내에 결과를 도출할 수 있도록 focus된 접근으로 좋은 방법입니다.

  1. 카운트 배열 사용: 각 숫자의 빈도를 기록하여 중복 탐색을 효율적으로 처리하는 것은 좋은 접근입니다.
  2. 중복 관리를 위한 조건: if (diff === i) 조건을 이용하여 자기 자신과 더해서 M을 만드는 경우를 처리한 부분도 적절합니다.

이 로직을 C++로 전환하거나, 문제의 기본 개념을 적용하기 위해 다른 프로그래밍 언어에서도 쉽게 응용할 수 있습니다.

마무리하며
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

문제를 고민하는 시간 관련

0

15

2

코딩살구클럽

0

28

2

코딩살구클럽 문의

0

30

2

코딩살구클럽 승인

0

33

2

DP 경우의 수 설명이 이해가 되지 않습니다.

0

32

2

3-F 채점 관련 질문

0

30

1

BFS, DFS 활용이 되는 상황에서의 방향성

0

32

2

코딩살구클럽 승인

0

43

2

코딩살구클럽승인

0

39

3

코딩살구클럽 승인

0

51

2

3-D 관련 질문

0

35

2

코살구 회원가입 문의

0

45

2

코살구 로그인 문제

0

65

2

3-A 문제 풀이 관련 질문

0

56

3

2-O 질문 있습니다

0

38

2

2-T 문제에 관한 질문

0

40

2

코딩 살구 클럽 접속 및 사용방법 문의

0

63

2

안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~

0

64

2

코딩살구클럽 로그인문제

0

79

3

코딩 살구 클럽 로그인 문제

0

85

2

2-J 채점관련 질문

0

67

3

코딩 살구 클럽 Python 지원 가능 여부

0

77

1

살구클럽 아이디 없음 문제

0

76

1

1-O 코딩살구클럽 채점관련 질문

0

61

2