Programmers/Level 0
<22.10.25> 프로그래머스 Level 0 문제 풀이 #02
mayberry
2022. 10. 25. 21:07
Programmers Level 0 문제 풀이 #02 - 2022-10-25.
2-1. 피자 나눠 먹기(1)
문제)
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
내가 작성한 답안)
function solution(n) {
// 피자를 나눠먹을 사람의 수 n을 7로 나눈다.
return Math.ceil(n/7);
}
2-2. 짝수는 싫어요
문제)
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
내가 작성한 답안)
function solution(n) {
// 정수 n까지 이루어진 배열 생성 후 홀수 인 수들을 추려낸다.
let result = Array.from({length:n}, (v,k) => k+1).filter(it => {return it % 2 !== 0})
// result 배열을 오름차순으로 정렬
return result.sort((a,b) => {return a-b});
}
2-3. 배열 자르기
문제)
정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
내가 작성한 답안)
function solution(numbers, num1, num2) {
// slice를 활용하여 numbers를 num1부터 num2까지 자른다.
return numbers.slice(num1, num2+1);
}
2-4. 최대값 만들기 (1)
문제)
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
내가 작성한 답안)
function solution(numbers) {
// numbers 배열 내림차순 정렬 후, 0번째 원소와 1번째인 원소 곱
return numbers.sort((a,b) => {return b-a})[0] * numbers.sort((a,b) => {return b-a})[1]
}
2-5. 삼각형의 완성조건 (1)
문제)
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
- 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
내가 작성한 답안)
function solution(sides) {
// sides를 내림차순 정렬한 뒤, 두 번째, 세 번째 원소의 합이 첫번째 인덱스보다 큰지 판별
return sides.sort((a,b) => {return b-a})[0] < sides[1] + sides[2] ? 1 : 2;
}