출처 : 프로그래머스 코딩테스트 연습 - 2018 KAKAO BLIND RECRUITMENT - [1차] 다트게임
https://programmers.co.kr/learn/courses/30/lessons/17682
코딩테스트 연습 - [1차] 다트 게임
programmers.co.kr
✅ Solution
function solution(dartResult) {
const dartArr = dartResult.split('');
const stack = [];
const sum = [];
for( let i = 0; i < dartArr.length; i++) {
if( !isNaN(dartArr[i])) {
if(dartArr[i] === '0' && dartArr[i -1] === '1') {
stack.pop();
stack.push(10);
} else {
if( stack.length > 0) sum.push(stack.pop());
stack.push(+dartArr[i])
}
}
if(dartArr[i] === 'S') stack[0] = Math.pow(stack[0],1);
if(dartArr[i] === 'D') stack[0] = Math.pow(stack[0],2);
if(dartArr[i] === 'T') stack[0] = Math.pow(stack[0],3);
if(dartArr[i] === '*') {
stack[0] = stack[0] * 2;
if(sum.length > 0) {
const num = sum.pop() * 2;
sum.push(num);
}
}
if(dartArr[i] === '#') {
stack[0] = stack[0] * -1;
}
}
if(stack.length > 0) sum.push(stack[0])
return sum.reduce((acc,cur) => acc + cur);
}
참고
카카오 신입 공채 1차 코딩 테스트 문제 해설
‘블라인드’ 전형으로 실시되어 시작부터 엄청난 화제를 몰고 온 카카오 개발 신입 공채. 그 첫 번째 관문인 1차 코딩 테스트가 지난 9월 16일(토) 오후 2시부터 7시까지 장장 5시간 동안 온라인
tech.kakao.com
- Stack 구조를 활용한 풀이
[알고리즘] [1차] 다트 게임-JavaScript
Algorithm Problem with JavaScript — 28day다트 게임카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에
velog.io
- 정규표현식과 match 메소드를 활용한 풀이
[알고리즘] 프로그래머스 - 다트 게임 with node.js
들어가며 518일 동안 단 하루도 빠지지 않고 알고리즘을 풀었다는 글을 본 적이 있습니다. 이 글을 보면서, 생각해보면 하루에 혼자만의 힘으로 다른 코드를 참고하지 않고 코드를 짠 경험이 얼
overcome-the-limits.tistory.com
'알고리즘' 카테고리의 다른 글
프로그래머스 JS | 행렬 테두리 회전하기 (0) | 2022.07.06 |
---|---|
프로그래머스 JS | 오픈채팅방 (0) | 2022.07.02 |
프로그래머스 JS | 이상한 문자 만들기 (0) | 2022.06.29 |
프로그래머스 JS | 실패율 (0) | 2022.06.27 |
프로그래머스 JS | 모의고사 (완전탐색) (0) | 2022.06.25 |