SG의 개발 공부로그

양꼬치 [프로그래머스 코딩테스트] 본문

CodingTest

양꼬치 [프로그래머스 코딩테스트]

DebeloperSG 2023. 1. 20. 17:34
728x90

양꼬치

 

문제 설명

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.

 

 

제한사항

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • 서비스로 받은 음료수는 모두 마십니다.

 

 

입출력 예

n k result
10 3 124,000
64 6 768,000

 

 

입출력 예 설명

입출력 예 #1

  • 10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다.

 

입출력 예 #2

  • 64인분을 시켜 서비스로 음료수를 6개 받아 총 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000원입니다.

 

 

풀이

1. 양꼬치의 개수(n) x 가격(12000)  

2. 음료수의 개수(k) x 가격(2000) 

3. 둘을 더하면 (총 가격)

 

양꼬치를 10인분먹으면 서비스로 음료수를 서비스로 주니까

4. 양꼬치의 개수(n) / 10을 나눈다.

5.  parseInt로 소수점 버리고 x 음료수가격 (2000) 을 곱해준다. (콜라 서비스가격)

6. 총 가격 - 콜라서비스가격 을 빼준다.

function solution(n, k) {
  let answer = 0;
  
  answer = n * 12000 + k *2000 - parseInt(n/10) *2000
  return answer;
}

 

다른방법 풀이

풀이는 같지만 순서만 바꼈다.

양꼬치의 개수(n) / 10을 나눈 값을 소수점버리고 미리 콜라갯수에서 뺀다

~~ 는 Math.floor  와 같다.

그리고 만약 콜라의 개수가 0보다 작으면 0으로 해준다. 

양꼬치의 개수(n) x 가격(12000) + 서비스음료를 뺀 음료수의 개수(k) x 가격(2000) 

function solution(n, k) {
    k-=~~(n/10);
    if (k < 0) k = 0;
    return n*12000+k*2000;
}

 

728x90