이예지(프로그래머스)
자연수 뒤집어 배열로 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12932
문제 1.
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
입출력 예
n return
12345 [5,4,3,2,1]
문제 2.
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
입출력 예
n return
118372 873211
HTML
복사
풀이 1.
function solution(n) {
var answer = [];
let list = n.toString().split('');
for(let i = list.length-1; i >= 0; i--){
answer.push(Number(list[i]));
}
return answer;
}
풀이 2.
function solution(n) {
return Number(n.toString().split('').sort((a,b)=> b-a).join(''));
}
JavaScript
복사
조원영(프로그래머스)
문제
길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.
배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다.
이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다.
이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (한번 쓴 숫자는 재사용 불가)
입출력 예
A B answer
[1, 4, 2] [5, 4, 4] 29
[1,2] [3,4] 10
Plain Text
복사
풀이
누적된 값이 최소가 되려면
배열1에서 가장 작은값 * 배열2에서 가장 큰값
그다음 두번째로 가장 작은값 * 두번째로 가장 큰값
이렇게 쭉 더해야지 누적된 값이 최소가 됨!
function solution(A, B) {
var answer = 0;
A.sort((a, b) => a - b);
B.sort((a, b) => b - a);
for (let i = 0; i < A.length; i++) {
answer += A[i] * B[i];
}
return answer;
}
JavaScript
복사
김미정(프로그래머스)
문제 1.
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
JavaScript
복사
풀이 1.
function solution(s) {
let uniqTxt = [...new Set(s)];
let answer = uniqTxt.filter(v=> s.indexOf(v)===s.lastIndexOf(v));
return answer.sort().join('');
}
JavaScript
복사