inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2-S

풀이 코드 질문

해결된 질문

74

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

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

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

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

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

0

13

2

문제를 고민하는 시간 관련

0

21

2

코딩살구클럽

0

32

2

코딩살구클럽 문의

0

32

2

코딩살구클럽 승인

0

34

2

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

0

33

2

3-F 채점 관련 질문

0

30

1

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

0

32

2

코딩살구클럽 승인

0

44

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

67

2

코딩살구클럽 로그인문제

0

85

3

코딩 살구 클럽 로그인 문제

0

85

2

2-J 채점관련 질문

0

67

3

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

0

77

1

살구클럽 아이디 없음 문제

0

76

1