문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
// 배열에 값 할당하기 참고
let arr = [1, 2, 3];
arr[1] *= 2;
console.log(arr); // [ 1, 4, 3 ]
arr[2] *= -1;
console.log(arr); // [ 1, 4, -3 ]
정답
function solution(dartResult) {
let arr = dartResult.split("");
let tmp = 0;
let answer = [];
for (let i = 0; i < arr.length; i++) {
if (Number(arr[i])) {
if (Number(arr[i]) === 1 && Number(arr[i + 1]) === 0) {
tmp = 10;
i++;
} else {
tmp = Number(arr[i]);
}
} else if (arr[i] === "S") {
answer.push(tmp);
tmp = 0;
} else if (arr[i] === "D") {
answer.push(Math.pow(tmp, 2));
tmp = 0;
} else if (arr[i] === "T") {
answer.push(Math.pow(tmp, 3));
tmp = 0;
} else if (arr[i] === "*") {
answer[answer.length - 1] *= 2;
answer[answer.length - 2] *= 2;
} else if (arr[i] === "#") {
answer[answer.length - 1] *= -1;
}
}
return answer.reduce((a, b) => a + b);
}
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
// 배열에 값 할당하기 참고
let arr = [1, 2, 3];
arr[1] *= 2;
console.log(arr); // [ 1, 4, 3 ]
arr[2] *= -1;
console.log(arr); // [ 1, 4, -3 ]
정답
function solution(dartResult) {
let arr = dartResult.split("");
let tmp = 0;
let answer = [];
for (let i = 0; i < arr.length; i++) {
if (Number(arr[i])) {
if (Number(arr[i]) === 1 && Number(arr[i + 1]) === 0) {
tmp = 10;
i++;
} else {
tmp = Number(arr[i]);
}
} else if (arr[i] === "S") {
answer.push(tmp);
tmp = 0;
} else if (arr[i] === "D") {
answer.push(Math.pow(tmp, 2));
tmp = 0;
} else if (arr[i] === "T") {
answer.push(Math.pow(tmp, 3));
tmp = 0;
} else if (arr[i] === "*") {
answer[answer.length - 1] *= 2;
answer[answer.length - 2] *= 2;
} else if (arr[i] === "#") {
answer[answer.length - 1] *= -1;
}
}
return answer.reduce((a, b) => a + b);
}