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

wldls317님의 프로필 이미지
wldls317

작성한 질문수

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

7주차 개념 DP(Dynamic Programming)

자두 문제 설명관련 질문드립니다!

작성

·

71

·

수정됨

0

2^30이 언급될 때, 왜 2^30이 언급되는지 잘 이해가 가지 않습니다.

 

선생님께서 2^30에 대해 언급하실 때

자두가 30초 동안 떨어지며 W=30인 것을 가정하고, 이때, 자두의 이동에 대한 모든 경우의 수를 탐색하려면 2^30이 걸린다는 것을 말씀하시는 건가요? (현재 위치 유지하거나/다른 나무로 이동)

 

 

답변 1

0

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

안녕하세요 ㅎㅎ

 

현재 위치 유지하거나/다른 나무로 이동

>>네 맞습니다.

 

문제 지문을 보시면

자두는 T(1≤T≤1,000)초 동안 떨어지게 된다. 자두는 최대 W(1≤W≤30)번만 움직이고 싶어 한다. 매 초마다 어느 나무에서 자두가 떨어질지에 대한 정보가 주어졌을 때, 자두가 받을 수 있는 자두의 개수를 구해내는 프로그램을 작성하시오. 자두는 1번 자두나무 아래에 위치해 있다고 한다.

라고 되어있습니다.자두는 최대 30번움직일 수 있으며 -> 이 때의 경우의 수는 움직이냐 움직이지 않냐 2개의 경우의 수가 있으므로 2^30이 됩니다.

여기서 1000초까지를 왜 생각을 안하냐? 이렇게 물어보실 수 있는데요.

만약 움직이는 횟수를 다 썼다면 -> 그 부분 부터는 계산을 하지 않아도 됩니다.

예를 들어 그 이후 2 2 2 2 2 로 들어오는데 -> 지금 2라면 그저 +만 하면 되기 때문에 이부분에 대한 계산은 들지 않아서 -> 그부분만 계산하면 되고 -> 2^30 이 걸린다고 볼 수 있습니다.

 

감사합니다.

 

wldls317님의 프로필 이미지
wldls317

작성한 질문수

질문하기