CODINGTEST_ 치킨 쿠폰

코넬·2023년 4월 2일
0

CodingTest_PCCE

목록 보기
8/17
post-thumbnail

PCCE 수업 때 테스트 문제로 나왔던 문제를 또 접하였다. 이런 것들이 그림으로 논리 관계를 이해하면 수월하게 풀리는 문제들 중 하나이다.

구매한 치킨의 수만큼 쿠폰 제공 - 기본 a가 쿠폰 개수가 됨
a가 10일 때마다 +1 추가로 더 지급받음 - 이 지급받은 서비스 갯수를 세야함.

받은 서비스 갯수는 전체 값에서 나누기를 통해서 받아야하는데, %10을 해서 받은 값에는 +1 씩 한 값을 계산할 수 없다.

전체 받은 치킨 갯수부터 계산을 해보면 1개라도 시키면 적어도 1이 기본 전제가 되고, 최대로 받는 거는 치킨 개수만큼 + 10장마다 받은 치킨 서비스 를 계산해야한다.

10장마다 받은 치킨 서비스를 a + a//10 으로 계산할 수 있지만, 과감하게 10개마다 받은 서비스 나누기 몫 계산시 10을 9로 하여 정수몫만 계산시 +1 되는 것을 이용하여 계산이 가능하다.

사실 근데 이 계산은,,, max와 // 연산자를 굉장히 잘 쓰는 사람들에게 바로 생각나는 것일 뿐, +1을 한번씩 더 카운트하고 싶을 때 // (원래 나누려는 값 -1) 한다는 것만 기억하면 좋을 것같다.

def solution(chicken):
    #시키면 적어도 1마리는 받는거 아닌가?
    answer = (max(chicken, 1)-1) // 9
    #서비스 치킨에도 쿠폰이 한장 발급 - 10에서 9로 나눠줘야지 서비스 갯수가 나온다.
    return answer

코딩테스트 - 치킨 쿠폰 나도 풀어볼래 !!

profile
어서오세요.

0개의 댓글