⛵ 항해99/개강준비
[JavaScript 문법] 프로그래머스_4일차
hhhhy
2023. 8. 1. 01:43
중복된 숫자 개수
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120583
- 나의 풀이
function solution(array, n) {
let newarr = 0; // 1) newarr는 0부터 시작하는데,
for (let i = 0; i < array.length; i++) {
if (array[i] === n) {
newarr++
// 2) 조건에 맞으면 1씩 증가(++)해라
}
}
return newarr
}
console.log(solution([1, 1, 2, 3, 4, 5], 1))
배열의 평균값
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120817
- 나의 풀이
function solution(numbers) {
let num = 0;
for (let i = 0; i < numbers.length; i++) {
num += numbers[i]
// num에 numbers의 i번째 숫자를 더해라
} return num / numbers.length;
}
console.log(solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
짝수 홀수 개수
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120824
- 나의 풀이
function solution(num_list) {
let aa = 0;
let b = 0;
for (let i = 0; i < num_list.length; i++) {
if (num_list[i] % 2 === 0) {
// 2로 나눴을때 나머지가 0이면 짝수
aa++
} else { b++ };
}
return [aa, b];
}
console.log(solution([1, 2, 3, 4, 5]))
- 알게 된 것
📍 for of를 활용한 코드
function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}
console.log(solution([1, 2, 3, 4, 5])) // [ 2, 3 ]
배열 자르기
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120833
- 나의 풀이
function solution(numbers, num1, num2) {
return numbers.slice(num1, num2+1);
}
console.log(solution([1, 2, 3, 4, 5], 1, 3)) // [2, 3, 4]
- 알게 된 것
📍 splice()를 활용한 코드
- splice(start, deleteCount, item1, item2, ...) 응용
- item... 부분없이 splice(start, deleteCount)까지만 사용하면 start 인덱스부터 deleteCount 개수만큼 요소를 제거됨
function solution(numbers, num1, num2) {
return numbers.splice(num1, num2-num1+1);}
console.log(solution([1, 2, 3, 4, 5], 1, 3)) // [2, 3, 4]
# splice() 사용시 원본 배열은 변경됨
const array = [1, 2, 3, 4, 5];
array.splice(1, 3); // 인덱스 1부터 3개의 요소를 제거
console.log(array); // 출력: [1, 5]
배열 원소의 길이
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120854
- 나의 풀이
function solution(strlist) {
let newstr = [];
for (let i = 0; i < strlist.length; i++) {
newstr.push(strlist[i].length);
// strlist의 길이를 넣으면 됨
}
return newstr;
}
console.log(solution(["We", "are", "the", "world!"]))
배열 뒤집기
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120821
- 나의 풀이
function solution(num_list) {
return num_list.reverse();
}
최댓값 만들기
- 문제 주소
https://school.programmers.co.kr/learn/courses/30/lessons/120847
- 나의 풀이
function solution(numbers) {
numbers.sort(function(a,b) {
return b-a;
});
return numbers[0]*numbers[1]
}
console.log(solution([1, 2, 3, 4, 5]));
- 알게 된 것
📍 sort() 메서드
- 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환
# 예시 - 오름차순
numbers.sort(function(a, b) {
return a - b;}
// a - b 값이 양수면 a가 더 큰 값으로 판단하고, a를 뒤로 보냄
# 예시 - 내림차순
numbers.sort(function(a, b) {
return b - a;}
// b - a 값이 양수면 b가 더 큰 값으로 찬단하고, b를 앞으로 가져옴
# 참고
1) https://celltong.tistory.com/entry/JavaScript-sort-%EB%A9%94%EC%86%8C%EB%93%9C%EB%A1%9C-%EB%B0%B0%EC%97%B4-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0
2) https://www.daleseo.com/js-sort-to-sorted/
3) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort