728x90
[ , 1] ▷ [2 , 3] ▷ [4, 5] ▷ .... 식으로 페이지가 체크되어 있는 책에서 원하는 페이지에 도달하기까지 넘겨야 할 최소의 페이지 수를 구하는 코드를 작성해야 한다.
int pageCount(int n, int p) {
int count =0;
int p_count = p/2;
int l_count;
if(n%2 == 0){
if(p%2 == 0){
l_count = (n-p)/2;
}
else{
l_count = (n-p)/2 + 1;
}
}
else{
l_count = (n-p)/2;
}
count = (p_count >= l_count)?l_count:p_count;
return count;
}
△ 작성한 부분
1페이지 부터 넘기는 경우(p_count)와 가장 마지막 페이지(n)에서부터 넘기는 경우(l_count)를 나눠 더 작은 값을 리턴해줘야 한다.
l_count의 경우, 가장 마지막으로 기록된 페이지의 값이 홀수인지 짝수인지에 따라 계산을 다르게 해야 한다.
SMALL
'Programming > C C++' 카테고리의 다른 글
[DS] Get Node Value (0) | 2020.10.04 |
---|---|
Counting Valleys (0) | 2020.10.04 |
[DS] Reverse a doubly-linked list (0) | 2020.09.27 |
[DS] Delete a Node (0) | 2020.09.20 |
Migratory Birds (0) | 2020.09.20 |