728x90
문제
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
해결 과정
처음에는
1. 피자 변수를 만든다.
2. 피자를 7조각으로 나눈다.
이런 식으로 접근을 했다.
다시 문제를 읽어보고 입출력 예 설명을 읽었다.
7명은 최소 1판 필요
1명은 최소 1판 필요
15명은 최소 3판 필요
24명일땐 최소 4판 필요
옆 사진 처럼 나눗셈을 이용해서 하면 소수점이 나온다.
8 % 7 = 1.xxx
소수점을 올려서 문제를 풀어보기로 했다.
소수점을 올릴때는 Math.ceil()을 이용한다.
소수점을 올리기위해서는 나누기할당을 이용해야한다.
그래서 아래와 같이 코드를 작성했다.
let pizzaNum n / 7;
앞서 작성한거처럼 Math.ceil()을 이용하여 문제를 풀었다.
새롭게 알게된 점📝
문제를 풀다가 나누기(/)를 써야하는지 나머지 (%) 를 써야하는지 헷갈렸다.
소수를 올릴때는 나누기(/)를 사용하고
정수를 반올림하는 경우에는 나머지(%)를 사용해야 한다.
Math.ceil 메서드는 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다.
소수점 이하를 올림하면 더 큰 정수가 된다.
(모던 자바스크립트 562쪽 참고)
그렇다면 소수점 이하의 숫자를 내릴려면 어떤 메서드를 써야할까?
Math.floor 메서드를 이용하면 된다.
정답
function solution(n) {
let pizzaNum = n / 7;
return Math.ceil(pizzaNum);
}
문제 푸는데 걸린 시간: 17m 54s
728x90
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] 피자 나눠 먹기(3) 🍕 (0) | 2024.02.17 |
---|---|
[프로그래머스] 피자 나눠먹기(2) 🍕 (0) | 2024.02.17 |
[프로그래머스] 배열 두배 만들기 | JS (0) | 2024.02.04 |
[프로그래머스] 나머지 구하기 | JS (0) | 2024.01.24 |
[코딩 테스트] 분수의 덧셈 | JS (0) | 2024.01.24 |