CodeWars 코딩 문제 2021/04/06 - T.T.T.17: Split odd and even
[문제]
Task
Complete function splitOddAndEven, accept a number n(n>0), return an array that contains the continuous parts of odd or even digits.
Please don't worry about digit 0, it won't appear ;-)
Examples
splitOddAndEven(123) === [1,2,3]
splitOddAndEven(223) === [22,3]
splitOddAndEven(111) === [111]
splitOddAndEven(13579) === [13579]
splitOddAndEven(135246) === [135,246]
splitOddAndEven(123456) === [1,2,3,4,5,6]
(요약)주어진 숫자를 짝수끼리, 홀수끼리만 연결되게 분리해라.
[풀이]
function splitOddAndEven(n) {
n = String(n);
let index = 0;
const answer = [n[index]];
let oddEvenCheck = !(n[index] % 2);
for(let i = 1; i < n.length; i++) {
if(oddEvenCheck ^ (n[i] % 2)) {
answer[index] += n[i];
}
else {
answer.push(n[i]);
index++;
oddEvenCheck = !oddEvenCheck;
}
}
return answer.map(str => str * 1);
}
문자열로 만들어서 index
접근을 하기위해 주어진 숫자를 문자열로 먼저 변환.
첫 숫자를 배열에 넣고, 그 값이 짝수면 oddEvenCheck
는 true
, 홀수면 false
.
반복문을 돌면서 이전 숫자와 지금 숫자가 둘 다 짝수나 홀수면 if
, 홀수와 짝수가 붙어 있으면 else
.
마지막에 문자열을 숫자로 변경하고 return
.
Author And Source
이 문제에 관하여(CodeWars 코딩 문제 2021/04/06 - T.T.T.17: Split odd and even), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@hemtory/CodeWars20210406
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function splitOddAndEven(n) {
n = String(n);
let index = 0;
const answer = [n[index]];
let oddEvenCheck = !(n[index] % 2);
for(let i = 1; i < n.length; i++) {
if(oddEvenCheck ^ (n[i] % 2)) {
answer[index] += n[i];
}
else {
answer.push(n[i]);
index++;
oddEvenCheck = !oddEvenCheck;
}
}
return answer.map(str => str * 1);
}
문자열로 만들어서 index
접근을 하기위해 주어진 숫자를 문자열로 먼저 변환.
첫 숫자를 배열에 넣고, 그 값이 짝수면 oddEvenCheck
는 true
, 홀수면 false
.
반복문을 돌면서 이전 숫자와 지금 숫자가 둘 다 짝수나 홀수면 if
, 홀수와 짝수가 붙어 있으면 else
.
마지막에 문자열을 숫자로 변경하고 return
.
Author And Source
이 문제에 관하여(CodeWars 코딩 문제 2021/04/06 - T.T.T.17: Split odd and even), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hemtory/CodeWars20210406저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)