Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
Tags
- 웹팩
- 코딩문제
- for문
- 자바스크립트
- 코딩
- Programmers
- map함수
- 코딩입문
- Javascript
- 프로그래머스
- codingtest
- 코딩테스트
- MPA
- 자바스크립
- axios
- 헬스
- React-Three-Fiber
- 오름차순
- 운동
- CSS
- 배열뒤집기
- 프레임워크
- 머쓱이
- react
- reduce함수
- 리엑트
- 반복문
- 코딩공부
- 코딩연습
- threejs
Archives
- Today
- Total
SG의 개발 공부로그
최댓값 만들기 (1) [프로그래머스 코딩테스트 자바스크립트] 본문
728x90
최댓값 만들기(1)
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
- 0 ≤ numbers의 원소 ≤ 10,000
- 2 ≤ numbers의 길이 ≤ 100
입출력 예
numbers | result |
[1, 2, 3, 4, 5] | 20 |
[0, 31, 24, 10, 1, 9] | 744 |
입출력 예 설명
입출력 예 #1
- 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.
입출력 예 #1
- 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.
풀이
반복문을 돌려서 모든 수를 각각 곱한 값을 배열에 넣어준다.
그 중에서 Math.max 함수를 사용해서 가장 높은 값을 추출한다.
function solution(numbers) {
let answer = [];
for (let i = 0; i < numbers.length; i++) {
for (let j = 0; j < numbers.length; j++) {
if (i !== j) {
answer.push(numbers[i] * numbers[j]);
}
}
}
return Math.max(...answer);
}
다른 풀이
sort 함수를 사용하여 오름차순으로 바꿔준 다음
맨 앞에 첫번째요소와 두번째 요소를 곱해준 값을 return 한다.
코드가 더욱 간결해졌다.
function solution(numbers) {
numbers.sort((a,b)=>b-a);
return numbers[0]*numbers[1];
}
728x90
'CodingTest' 카테고리의 다른 글
옷가게 할인 받기 [프로그래머스 코딩테스트 javascript] (1) | 2023.02.24 |
---|---|
특정 문자 제거하기 [프로그래머스 코딩테스트 자바스크립트] (1) | 2023.02.18 |
삼각형의 완성조건 [프로그래머스 코딩테스트 자바스크립트] (1) | 2023.02.12 |
중복된 숫자 개수 [프로그래머스 코딩테스트 자바스크립트] (2) | 2023.02.12 |
배열 원소의 길이 [프로그래머스 코딩테스트 자바스크립트] (1) | 2023.02.11 |