반응형
1. 핸드폰 번호 가리기

function solution(phone_number) {
const star = phone_number.length - 4;
return "*".repeat(star) + phone_number.slice(-4);
}
slice는 음수를 지원함
2. 제일 작은 수 제거하기

function solution(arr) {
arr.splice(arr.indexOf(Math.min(...arr)), 1);
arr.length <= 1 ? answer = [-1] : answer = arr;
return answer;
}
배열의 최소값을 찾을 때 Math.min(...arr) <- 전개연산자
3. 없는 숫자 더하기

function solution(numbers) {
var answer = 0;
for(let i = 0; i < 10; i++) {
if(!numbers.includes(i)) answer += i;
}
return answer;
}
4. 제일 작은 수 제거하기

function solution(arr) {
if(arr.length <= 1) {
return [-1];
}
let minValue = arr[0]; // 초기 최소값
for(let i = 1; i < arr.length; i++) {
if(arr[i] < minValue) {
minValue = arr[i];
}
}
// 최소값을 제외한 배열
const result = [];
for(let i = 0; i < arr.length; i++) {
if(arr[i] !== minValue) {
result.push(arr[i]);
}
}
return result;
}
5. 나누어 떨어지는 숫자 배열
function solution(arr, divisor) {
var answer = [];
for(let i = 0; i < arr.length; i++) {
if(arr[i] % divisor === 0) {
answer.push(arr[i]);
}
}
if(answer.length === 0) {
answer.push(-1);
}
answer.sort((a,b) => a-b);
return answer;
}
answer.push([-1])을 해버려서 틀렸던 문제
6. 평균 구하기
function solution(arr) {
var answer = 0;
var sum = 0;
for(let i = 0; i < arr.length; i++) {
sum += arr[i];
}
answer = sum / arr.length;
return answer;
}
7. 정수 내림차순으로 배치하기
function solution(n) {
var answer = 0;
var str = n.toString().split('');
answer = str.sort((a,b) => b-a);
answer = answer.join('');
answer = parseInt(answer);
return answer;
}
그냥 answer.join('') 말고 answer = answer.join('') 해줘야 됨
8. 두 정수 사이의 합
function solution(a, b) {
var answer = 0;
for(let i = a; i <= b; i++) {
answer += i;
}
for(let i = b; i <= a; i++) {
answer += i;
}
// 두 수가 같은 경우
if(a === b) {
answer = a;
}
return answer;
}
두 수의 대수 비교
두 수가 같은 경우 고려
9. 제일 작은 수 제거하기
function solution(arr) {
var answer = [];
var min;
if(arr.length <= 1) {
return [-1];
}
for(let i = 0; i < arr.length; i++) {
min = Math.min(...arr);
}
let idx = arr.indexOf(min);
answer = [...arr.slice(0, idx), ...arr.slice(idx+1)];
return answer;
}
...arr.slice(0, idx), ...arr.slice(idx+1): idx를 제거한 앞뒤 부분을 합치는 것
...arr하는 이유: 원본 배열 변경하면 안 됨
반응형
'코테 스터디' 카테고리의 다른 글
| 프로그래머스 Lv1 자릿수 더하기 (0) | 2023.09.20 |
|---|---|
| 프로그래머스 Lv1 약수의 합 (0) | 2023.09.20 |
| [정렬/javascript] 프로그래머스 K번째 수 (0) | 2023.09.01 |
| [JS] 프로그래머스 명예의 전당 (1) (0) | 2023.08.18 |
| [JS] 프로그래머스 문자열 묶기 (0) | 2023.08.18 |