문제 설명

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.


제한사항

  • 1 ≤ n ≤ 100

입출력 예

nresult
71
11
153

입출력 예 설명

입출력 예 #1

  • 7명이 최소 한 조각씩 먹기 위해서 최소 1판이 필요합니다.

입출력 예 #2

  • 1명은 최소 한 조각을 먹기 위해 1판이 필요합니다.

입출력 예 #3

  • 15명이 최소 한 조각씩 먹기 위해서 최소 3판이 필요합니다.

✍ SOLUTION1

const solution = (n) => Math.ceil(n/7);

/* 내가 처음 작성했던 코드이다. 화살표 함수를 이용하여 작성해 주었다.
1판에 7조각으로 나뉜다고 했으니까 n/7해서 반올림해주면 된다고
생각했다. Math.ceil을 이용하여 소수점은 다 반올림 시켜주는 방식을 선택했다. */
function solution(n) {
	return Math.ceil(n/7);
}

// 위와 같은 코드이다. function 키워드를 써서 작성한 코드이다.

✍ SOLUTION2

function solution(n) {
    return ~~(n / 7) + (n % 7 ? 1 : 0);
}

/* 다른분의 코드를 보다가 신박해서 작성해보았다. 틸트 연산자를 통해서 n/7을 해주면 math.floor와 
동일한 결과값을 나타낸다. 우리가 알고싶은것은 반올림이기 때문에 소수점을 내려주는 math.floor, 
틸트연산자하고는 맞지않다. 그래서 이 코드 작성자 분은 뒤에 삼항연산자를 통해서 n을 7로 나눈 나머지가 참이면
즉, 0이면 false 나머지 숫자이면 true를 반환해줄테니 나머지가 있다면 1을 더해주고 없다면 0을 더해주라는 
말이다. 신기했다! */ 

출처 : 프로그래머스 스쿨 | 코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/120814

0개의 댓글