언젠가는 펼쳐 볼 아카이브
[Programmers] 조건에 맞게 수열 반환하기 2 본문
사용언어 : javascript
lv.0
#문제
#제출코드
function solution(arr) {
let oldArr = arr;
let x = 1;
while (true) {
let newArr = oldArr.map((item) => {
if (item >= 50 && item % 2 === 0) {
return Math.floor(item / 2);
}
if (item < 50 && item % 2 !== 0) {
return item * 2 + 1;
} else {
return item;
}
});
if (oldArr.toString() === newArr.toString()) {
return x - 1;
}
x++;
oldArr = newArr;
}
}
#다른사람 풀이
function solution(arr) {
var answer = 0;
let before = [-1];
while(!arr.every((e,idx) => e == before[idx])) {
before =[...arr];
arr = arr.map(e => {
if(e >= 50 & e % 2 == 0)
return e / 2;
if(e < 50 & e % 2 != 0)
return e * 2 + 1;
return e;
})
answer++;
}
return answer - 1;
}
'IT > Programmers' 카테고리의 다른 글
[Programmers] 가장 가까운 글자 (0) | 2024.02.28 |
---|---|
[Programmers] 대충 만든 자판 (0) | 2024.02.28 |
[Programmers] 수열 구간 쿼리 1 (0) | 2024.02.21 |
[Programmers] 할 일 목록 (0) | 2024.02.21 |
[Programmers] 최댓값과 최솟값 (0) | 2024.02.19 |