반응형
19. 배열 자르기
문제 설명
- 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 ≤ numbers의 길이 ≤ 30
- 0 ≤ numbers의 원소 ≤ 1,000
- 0 ≤num1 < num2 < numbers의 길이
입출력 예시
- 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.
- 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.
풀이
const solution = (numbers, num1, num2) => {
return numbers.slice(num1, num2+1); // slice는 배열을 자르는 메서드
}
` slice 메서드는 시작 인덱스는 포함, 종료 인덱스는 미포함한다. `
20. 최댓값 만들기
문제 설명
- 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
- 0 ≤ numbers의 원소 ≤ 10,000
- 2 ≤ numbers의 길이 ≤ 100
입출력 예시
- 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.
- 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.
풀이
const solution = numbers => {
return numbers.sort((a,b) => b-a); // sort는 배열 정렬 메서드
}
` a, b 두 인수의 식을 이용한 정렬 `
// 음수 값 : 첫 번째 인수 < 두 번째 인수, 첫 번째 인수가 앞에 위치
// 0 : 두 인수가 같다
// 양수 값 : 첫 번째 인수 > 두 번째 인수, 첫 번째 인수가 뒤에 위치
// 메서드를 이용하지 않은 식
const solution = numbers => {
let maxValue = 0
let maxValue2 = 0
for(const num of numbers){
if(num > maxValue){
maxValue2 = maxValue;
maxValue = num;
}
else if(num > maxValue2){
maxValue2 = num
}
}
return maxValue * maxValue2
}
21. 피자 나눠 먹기 (3)
문제 설명
- 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 ≤ slice ≤ 10
- 1 ≤ n ≤ 100
입출력 예시
- 10명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다.
- 12명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다.
풀이
const solution = (slice, n) => {
return Math.ceil(n / slice) // Math.ceil은 올림 메서드
}
- 정답률 높은 순부터 풀이
- 매일 3문항 풀이
반응형
'프로그래머스 JS 코딩테스트' 카테고리의 다른 글
Lv0 JS 프로그래머스 #8 - 삼각형의 완성조건(1), 문자열안에 문자열, 배열의 유사도 (13) | 2023.08.10 |
---|---|
Lv0 JS 프로그래머스 #7 - 배열 두 배 만들기, 문자열 뒤집기, 특정 문자 제거하기 (11) | 2023.08.09 |
Lv0 JS 프로그래머스 #5 - 점의 위치 구하기, 짝수 홀수 개수, 배열 뒤집기 (1) | 2023.08.07 |
Lv0 JS 프로그래머스 #4 - 점의 위치 구하기, 짝수 홀수 개수, 배열 뒤집기 (0) | 2023.08.04 |
Lv0 JS 프로그래머스 #3 - 짝수의 합, 배열의 평균값, 양꼬치 (10) | 2023.08.03 |