inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

15684 사다리 조작 추가 질문입니다.

303

박완섭

작성한 질문수 15

0

안녕하세요 큰돌님.

 

피드백을 받아 코드를 수정하게 되었는데요,

http://boj.kr/8d5d8fc5966444f7936b60ca17b295ee

예제는 맞았지만 시간초과가 나오게 됐습니다.

 

제가 작성한 코드의 경우는..

각 칸마다 사다리를 놓는 경우, 놓지 않는 경우를 나눠서 백트랙킹을 했는데요,

이렇게 되면 2^(n*h)가 되는 거라고 이해했는데요,

 

질문) 제가 작성한 코드의 시간복잡도가 2 ^ (n*h)가 되는게 맞나요?

 

C++ 코테 준비 같이 해요!

답변 1

0

큰돌

안녕하세요 완섭님 ㅎㅎ

네 대략 그렇습니다.

이 문제는 일단 사다리를 세우고 또는 안세우고 아니라 그 자리에 사다리를 세우고 >>> 넘기는 식으로 코드를 짜는게 중요합니다.

완섭님 코드를 돌리면 시간초과가 나는데요. 사실 이 코드에는 틀린 부분 또한 있습니다.

처음에는 완섭님 코드베이스로 수정해서 맞았습니다 뜨게 하려고 했는데

계속해서 이상하게 안되가지고

그냥 제 코드 베이스로 완섭님 코드처럼 한번 만들어봤습니다.

한줄에 사다리를 2개 이상을 놓아야 하고 또 사다리 같은 경우 겹치는 그 경우의 수를 "중복해서" 확인하지 않으면 해당 경우의 수를 확인하지 못하는 경우의 수가 나타납니다.

이를 해결하는 코드는 다음과 같습니다.

제 코드를 >> 완섭님 코드와 유사하게 구축헀습니다.

http://boj.kr/dae3949c9e2240bc8f3c1bd9a2566ac7

0

박완섭

너무 상세한 답변 감사합니다.

1-E질문입니다!

0

508

2

3-L 틀린 부분 피드백 부탁드립니다.

0

811

2

1-A문제 순열재귀함수 질문입니다.

0

376

1

1-A 일곱난쟁이문제입니다

0

451

1

문제 풀 때 방향성에 대해

0

793

1

맥에서 vs code로 실행 관련 질문입니다

0

515

1

17071번 메모리 초과

0

381

1

1-C질문입니다!

0

411

2

2-B BFS 시간초과질문

0

622

2

1-O 13번 라인

0

434

1

6-J 놀이공원 문제 질문

0

375

1

구현관련 질문

0

478

1

강의 교안

0

313

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

540

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

531

1

1-K

0

468

2

3-G번 질문있습니다.

1

464

3

3-C 실행 시간 질문드립니다.

0

489

1

4-A 문제 풀이 질문있습니다.

0

586

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

430

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

329

1

3-O go 함수 질문 드립니다.

1

437

2

4-A 출력 질문

0

298

1

1주차 1-O 질문드립니다

0

250

1