| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- styled-components
- 모던 딥 다이브 자바스크립트
- 프로그래머스
- 국비지원교육
- useRef
- MegabyteSchool
- react
- 코딩테스트
- 개발 공부
- JavaScript
- GIT
- 내일배움카드
- 알고리즘
- 입문
- Github
- 자바스크립트
- 비전공자
- 메가바이트스쿨
- next.js
- TypeScript
- 공식문서
- 모던 자바스크립트 딥 다이브
- 패스트캠퍼스
- 프론트엔드
- 자료구조
- useMemo
- 개발자취업부트캠프
- 리액트
- 이벤트
- CSS
Archives
- Today
- Total
개발 기록 남기기✍️
[프로그래머스] 치킨 쿠폰 본문
🗒️ 문제 설명
프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
⚠️ 제한 사항
- chicken은 정수입니다.
- 0 ≤ chicken ≤ 1,000,000
👀 입출력 예
| chicken | result |
| 100 | 11 |
| 1,081 | 120 |
❇️ 나의 풀이
- 먼저 서비스로 나간 치킨은 parseInt(chicken / 10); 으로 셋팅한다.
- 그리고 남은 쿠폰은 service(서비스 치킨 쿠폰) + (chicken % 10);(서비스 치킨 시키고 남은 쿠폰)으로 셋팅한다.
- 쿠폰이 10장 이상일 때만 서비스 치킨을 받을 수 있으므로, while의 조건문에 bonus >= 10을 걸어주고 조건문이 실행되는 동안 service에 parseInt(bonus / 10)를 추가해준다. 그리고 bonus는 bonus % 10(서비스 시키고 남은 쿠폰) + parseInt(bonus/10)(서비스 치킨 쿠폰)으로 설정한다.
- while 문이 종료되면 service를 반환한다.
function solution(chicken) {
var service = parseInt(chicken / 10);
var bonus = service + (chicken % 10);
while(bonus >= 10){
service += parseInt(bonus / 10);
bonus = bonus % 10 + parseInt(bonus / 10);
}
return service
}'코딩 테스트 연습' 카테고리의 다른 글
| [프로그래머스] 옹알이(1) (0) | 2023.01.07 |
|---|---|
| [프로그래머스] 유한소수 판별하기 (0) | 2023.01.07 |
| [프로그래머스] 다항식 더하기 (0) | 2023.01.04 |
| [프로그래머스] 저주의 숫자 3 (1) | 2023.01.04 |
| [프로그래머스] 합성수 찾기 (0) | 2023.01.04 |