inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

6-I

6-I 질문드립니다

94

문예찬

작성한 질문수 17

0

안녕하세요 큰돌님. 덕분에 많은 도움 받으며 공부하고 있습니다. 공부 중에 6-I 파닭파닭 문제에서 질문이 생겼습니다.

http://boj.kr/a3c8c4df3ccd47429c51f910440f47d1

위 코드가 제가 제출한 코드인데요, 라면에 들어갈 남은 파의 길이를 계산하는 부분에서 저는 전체 파길이에서 사용한 파길이를 빼는 로직말고 나머지연산으로 계산하는 게 먼저 떠올라 나머지 연산을 통해 계산했습니다.

 

제가 생각했을 때는 두가지 경우 동일한 결과를 보여야 하는데 이 부분만 큰돌님처럼 전체에 파닭에 사용한 파 길이를 빼는 방식으로 바꾸니 정답이 맞더라구요.. 나머지 연산을 할 때 left가 0이 되는 경우도 따로 처리를 해줘서 문제가 없다고 생각했는데, 틀린이유가 뭘까요?

c++ 코딩-테스트

답변 2

0

큰돌

안녕하세요 예찬님 ㅎㅎ

항상 열심히 하시네요 ㅎㅎ 화이팅입니다.

저코드에는 다음과 같은 반례가 있습니다.

 

4 5

10

10

10

10

답 : 15 / 예찬님 : 0

 

확인해보시겠어요?

 

감사합니다.

0

문예찬

아 이해했습니다. 알려주신 반례에서 하나의 파닭에 들어가는 파의 길이는 5라서 5개의 파닭에 파가 길이 5씩 들어가는건데 저는 각 파가 모두 5로 떨어지는 부분은 파닭에 들어갈거라고 잘못 생각했네요.

 

항상 친절한 답변 감사드립니다.

1

큰돌

그쵸 ㅎㅎ 그런 반례가 있었습니당 ㅎㅎ 또 질문있으시면 질문주세용~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 문예찬님.

6-I 파닭파닭 문제와 관련해서 질문해주신 내용을 보니, 남은 파의 길이를 계산하는 부분에서 문제가 발생하신 것 같습니다. 나머지 연산을 사용하여 구현하셨는데도 틀렸던 이유는 다음과 같은 몇 가지 원인이 있을 수 있습니다.

  1. 모듈로 연산의 특성: 나머지 연산을 사용할 때, 배분이 정확히 떨어지지 않는 경우(특히 a[i] % ans가 되는 과정에서) a[i]ans의 정수배가 아닌 경우, 계산이 틀리게 나올 수 있습니다. 즉, ret += a[i] - (a[i] / ans) * ans; 방식과 a[i] % ans 방식은 동일한 결과를 보장하지 않을 수 있습니다.

  2. 경계 조건의 누락: 특정한 경우의 나머지를 계산할 때, 추가적인 검사가 필요할 수도 있습니다. 특히 a[i] % ans에서 ans0에 가까운 값이 되거나 오버플로 상태에 가까운 범위일 때도 그렇습니다.

  3. 사용하는 자료형의 범위: 나머지 연산을 수행할 때, overflow가 발생하거나 다른 자료형 범위 관련 오류가 발생할 수도 있습니다. 이는 특히 파의 길이(a[i])가 매우 크고 ans이 작은 경우에 해당할 수 있습니다.

이 문제들은 코드를 정확히 분석하고 구체적으로 테스트케이스들을 돌려보며 검토를 해 볼 필요가 있습니다. 기존의 방식처럼 전체 파 길이에서 사용된 파를 빼는 방식은 상대적으로 범위 관련 문제나 경계 오류에서 자유로울 수 있습니다.

유사한 질문과 답변을 참조하여 더 깊이 이해하시기 바랍니다. 또한, 다음 링크에서 관련 질문과 설명을 참고하실 수 있습니다:

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

코딩살구클럽

0

10

1

코딩살구클럽 문의

0

23

2

코딩살구클럽 승인

0

28

2

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

0

32

2

3-F 채점 관련 질문

0

29

1

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

0

32

2

코딩살구클럽 승인

0

41

2

코딩살구클럽승인

0

35

3

코딩살구클럽 승인

0

50

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

62

2

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

0

64

2

코딩살구클럽 로그인문제

0

78

3

코딩 살구 클럽 로그인 문제

0

84

2

2-J 채점관련 질문

0

65

3

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

0

77

1

살구클럽 아이디 없음 문제

0

76

1

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

0

60

2

히든 테스트 케이스가 사라졌습니다

0

57

1