SMALL
1. 조건에 맞게 수열 변환하기
function solution(arr) {
var answer = 0;
let res = 0;
let arr1 = [];
let arr2 = [];
arr1 = arr;
while (true) {
// map 사용! arr1을 이용해서 arr2 만들기
arr2 = arr1.map( i => {
if (i%2==0 && i>=50) {
return i/2;
} else if (i%2==1 && i<50) {
return i*2+1;
} else {
return i;
}
})
// **every로 arr1 요소와 arr2 요소 비교
const compare = arr1.every( (a, i) => a == arr2[i]);
if (compare) {
break; // arr1과 arr2가 같으면 break;
}
answer++;
arr1 = arr2;
// 현재 배열(arr2)을 이전 배열(arr1)에 저장
}
return answer;
}
- every함수와 map함수를 사용해야한다는 힌트 get.
2. 길이에 따른 연산
function solution(num_list) {
let answer = 0;
let res1 = 0;
let res2 = 1;
let length = num_list.length;
num_list.forEach( i => {
if (length>=11) {
res1 += i;
answer = res1;
} else { // (length <= 10)
res2 *= i;
answer = res2;
}
})
return answer;
}
3. 원하는 문자열 찾기
function solution(myString, pat) {
var answer = 0;
myString = myString.toLowerCase();
pat = pat.toLowerCase();
answer = (myString.includes(pat)) ? 1 : 0;
return answer;
}
4. 대문자로 바꾸기
function solution(myString) {
return myString.toUpperCase();
}
5. 소문자로 바꾸기
function solution(myString) {
return myString.toLowerCase();
}
6. 배열에서 문자열 대소문자 변환하기
function solution(strArr) {
var answer = [];
for (let i=0; i<strArr.length; i++) {
if (i%2==1) {
strArr[i] = strArr[i].toUpperCase();
} else {
strArr[i] = strArr[i].toLowerCase();
}
}
answer = strArr;
return answer;
}
** map 사용 코드
function solution(strArr) {
return strArr.map( (v, i) => i%2 == 0 ? v.toLowerCase() : v.toUpperCase());
// v == strArr[i];
// i == idx;
}
728x90
'Algorithm > Javascript' 카테고리의 다른 글
[프로그래머스] 230726 코딩테스트 연습 (0) | 2023.07.26 |
---|---|
[프로그래머스] 230725 코딩테스트 연습 (0) | 2023.07.25 |
[프로그래머스] 230722 코딩테스트 연습 (0) | 2023.07.24 |
[프로그래머스] 230721 코딩테스트 연습 (0) | 2023.07.21 |
[프로그래머스] 230720 코딩테스트 연습 (0) | 2023.07.20 |
댓글