inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hoàn thành C++ Coding Test trong 10 tuần | Thuật toán Coding Test

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

6

JinSeong Jeon

2 câu hỏi đã được viết

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++ 코딩-테스트 코살구

Câu trả lời 1

0

communityai8509

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

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

기존 질문 및 답변 찾기

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

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

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

코드 검토

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

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

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

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

문제를 고민하는 시간 관련

0

16

2

코딩살구클럽

0

29

2

코딩살구클럽 문의

0

32

2

코딩살구클럽 승인

0

33

2

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

0

33

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