인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

AA66님의 프로필 이미지

작성한 질문수

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

5-N

5-N 질문있습니다

해결된 질문

작성

·

39

0

http://boj.kr/2f1777c58bd84f67a180147d9be4011f

http://boj.kr/cf9baebc300544628b1b450e16c61985

두 코드의 풀이 방식은 동일한데 처음은 반복문을 사용했고 두번째는 재귀함수를 사용했습니다.

 

저는 뱀의 머리와 꼬리의 위치 정보를 별도로 저장하고 그 저장된 정보들을 기반으로 종료조건을 걸어서 풀었습니다.

 

둘 다 지저분하게 풀기는 하였지만 논리적으로는 저 나름 잘 파악해서 코드를 짰다고 생각하고 예제는 다 옳게 잘 나옵니다.

 

하지만 백준에 제출을 하니 둘 다 "틀렸습니다"라고 뜹니다. 무엇이 문제일까요?

 

 

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 AA님ㅎㅎ

반례찾느라 늦었습니다.

반례는 다음과 같습니다.

15

8

10 5

7 10

1 14

9 15

1 13

11 15

5 3

8 2

21

2 D

4 L

5 D

6 D

8 L

9 L

11 D

12 D

13 D

14 D

15 D

16 L

17 L

19 L

20 L

21 L

23 D

25 L

26 L

28 L

29 L

 

답 : 40

AA님 : 14

이 반례를 해결해보시겠어요?

 

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

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

AA66님, 백준 문제를 풀이하면서 “틀렸습니다”라는 메시지를 받았다면 주로 다음과 같은 요소들을 확인해 보셔야 합니다.

  1. 예외 케이스 처리: 입력 조건, 예외 상황, 경계 값에 대한 처리가 부족할 수 있습니다. 예제를 넘어서 다양하게 설정해 보세요.

  2. 반복문과 재귀 함수의 종료 조건: 반복문과 재귀 함수에서 종료 조건 또는 탈출 조건이 명확히 설정되지 않으면 올바르게 종료되지 않을 수 있습니다.

  3. 경계 검사: 배열이나 리스트에서 인덱스가 초과되지는 않는지, 경계를 잘 확인해야 합니다.

  4. 논리적 오류: 논리 흐름이 잘못된 경우가 있을 수 있습니다. 특히 재귀와 반복의 방식이 동일하다고 해도, 작은 차이로 인한 논리적 오류를 체크하세요.

  5. 시간 초과: 복잡도가 높은 경우 시간 초과가 발생할 수 있습니다. 경우에 따라 효율적으로 개선해야 할 수도 있습니다.

비슷한 문제 상황이나 다른 수강생분의 질문과 답변을 참고해서 도움이 될 수 있도록, 다음의 링크를 확인해 보시는 것을 추천드립니다.

이 질문에서 유사한 문제를 다루고 있으며, 여러 가지 고려 사항을 체크하는 방법에 대해 이야기가 나옵니다. 문제의 범위와 조건을 명확히 하여 제출 시 발생하는 오류를 해결하려는 노력이 필요할 수 있습니다.

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

AA66님의 프로필 이미지

작성한 질문수

질문하기