inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2-S

풀이 코드 질문

해결된 질문

83

JaeYoung Jo

작성한 질문수 1

0

안녕하세요

1325번 문제 풀이 중 제 코드에서 잘못된 부분을 찾고 싶어 질문드립니다.

 

http://boj.kr/98142efdf609498d86b6cffc1947dee5

 

testcase.ac 및 몇 개의 반례도 넣어봤는데 못찾겠습니다.

 

어디가 왜 틀렸는지 궁금합니다.

 

항상 강의 잘 보고 있습니다. 감사합니다.

c++ 코딩-테스트

답변 2

0

큰돌

안녕하세요 ㅎㅎ

		if (a == b) {
			v[b].push_back(n + 1);
		}

혹시 이거 왜 이렇게 하셨는지 부연 설명 가능하실까요?

저기 n + 1을 넣으면 결국

	if (visited[root]) return ;

여기서 오버플로 발생되지 않을까요?

 

감사합니다.

0

JaeYoung Jo

문제의 값 범위부터 확인했어야 하는데.. 다시 알려주셔서 감사합니다.


자기 자신을 신뢰하는 경우에 n + 1을 자식 노드로 달고 n보다 큰 노드를 순회하지 않도록 하려 했는데 질문드린 코드에 로직이 빠져있었고 나중에 visited에서 루프가 방어되어 불필요하다고 생각해 수정했습니다.

 

코드 상 문제가 2가지 있었습니다.

  1. 말씀해주신 오버플로우

  2. comp 함수 로직

  1. 오버플로우


    같은 경우는 백준 내부 TC에서 a ==b (동일 컴퓨터 신뢰)를 안하는지, 10001을 참조했는데 운좋게 Undefined Behavior가 도와준건지 벡터 사이즈 10001에 n + 1 기존 로직 그대로 넣어도 통과했습니다.
    http://boj.kr/c9f5a23e43a8437faf01e8ab22ade613

  2. comp 함수 문제


    컴퓨터 3, 5, 2가 모두 10대를 해킹할 수 있다면


    정렬 후 순서가 {3, 10}, {2, 10}, {5, 10} 이렇게 되어서 코드 수정했습니다.

     

빠른 답변 감사합니다 선생님

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. JaeYoung Jo님께서 질문주신 내용을 잘 읽어보았습니다.

1325번 문제와 관련된 코드를 작성하셨는데, 코드의 어느 부분에서 문제가 생겼는지 확인이 필요하신 것 같습니다. 일반적으로 이러한 문제는 다음의 요소들을 통해 확인할 수 있습니다:

  1. DFS/BFS 로직: 문제 유형이 그래프 탐색일 경우, DFS나 BFS 구현에서 잘못된 동작이 있을 수 있습니다. 예를 들어, 방문한 노드를 잘못 체크하거나 스택/큐 사용에 오류가 있을 수 있습니다.

  2. 경계 조건: 탐색하는 과정에서 배열의 인덱스가 잘못되는 경우가 있습니다. 이는 주로 경계를 초과하는 경우나 방문 체크 로직에서 발생할 수 있습니다.

  3. 초기화 문제: 글로벌 변수를 여러 차례 사용할 경우, 매번 초기화되지 않으면 이전 단계의 값이 남아 있을 수 있습니다.

  4. 데이터 입력 문제: 입력 데이터가 예상과 다르게 처리될 경우, 입력 받는 방식을 다시 검토해 보는 것도 좋습니다.

문제에 대한 보다 구체적인 도움이 필요하시다면, 다음 자료들을 같이 참고해 보시는 걸 추천드립니다:

위의 링크를 참조하면 구체적인 코딩 컨셉이나 일반적인 문제 패턴에 대한 이해를 돕는데 유용할 것입니다. 추가로, 코드를 더 많이 테스트 케이스로 실행해본다면 더 다양한 반례와 문제점을 발견할 수 있을 것입니다.

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

코딩살구클럽 가입부탁드립니다

0

27

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

30

2

5-S 테스트 케이스 질문

0

34

2

코살 문제풀이 환경

0

48

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

43

1

추천 추가문제들

0

43

2

프로그래머스 코테 환경 관련해서 질문드립니다.

0

47

2

해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.

0

41

2

균형 이진 트리 설명 시 높이 숫자

0

31

2

4-H 질문드립니다.

0

35

2

1-K 질문드립니다.

0

41

2

대기업 인적성 시험 질문

0

41

2

4-C 질문드립니다

0

41

2

[수학숙제 / BOJ 2870] 채점 서버 오작동

0

37

1

코테 준비 질문

0

50

1

살구클럽가입 요청드려요

0

39

2

1-I 문제 질문

0

40

2

코딩살구클럽 가입

0

57

2

AI 코딩 도구 사용 시 학습 방법 조언

0

52

2

코딩살구클럽 오류

0

61

2

코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보

0

46

1

코딩살구클럽 테스트 케이스 오류 제보

0

52

2

삼성 코딩테스트

0

65

2

틀린 이유를 못찾겠습니다

0

48

2