티스토리 뷰
코딩테스트 연습 - [1차] 다트 게임 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - [1차] 다트 게임
programmers.co.kr
구현문제
주의할 점은 10은 두 자리 수란 걸 유념해야 한다.
내 코드
const solution = (dartResultArr) => {
let answer = 0;
let dartResult = [];
dartResultArr = dartResultArr.split('');
console.log(`dartResultArr : ${dartResultArr}`);
// 10을 배열에 넣기 위한 for문
for (let i = 0; i < dartResultArr.length; i++) {
if (dartResultArr[i] === '1' && dartResultArr[i + 1] === '0') {
dartResult.push(dartResultArr[i] + dartResultArr[i + 1]);
i++;
} else {
dartResult.push(dartResultArr[i]);
}
console.log(`dartResult : ${dartResult}`);
}
console.log(`dartResult : ${dartResult}`);
for (let i = 0; i < dartResult.length; i++) {
console.log(`dartResult[${i}]:${dartResult[i]}`);
if (dartResult[i] === 'D') {
dartResult[i - 1] = Math.pow(dartResult[i - 1], 2);
} else if (dartResult[i] === 'T') {
dartResult[i - 1] = Math.pow(dartResult[i - 1], 3);
} else if (dartResult[i] === '#') {
dartResult[i - 2] = -dartResult[i - 2];
} else if (dartResult[i] === '*') {
dartResult[i - 2] = dartResult[i - 2] * 2;
// 바로 전 것도 곱하기 2 해주자
for (let idx = i-4; idx >= 0; idx--) {
if (!Number.isNaN(Number(dartResult[idx]))) {
dartResult[idx] = dartResult[idx] * 2;
break;
}
}
}
}
console.log(`dartResult:${dartResult}`);
for (let i = 0; i < dartResult.length; i++) {
if (!Number.isNaN(Number(dartResult[i]))) answer += Number(dartResult[i]);
}
console.log(answer);
return answer;
};
'개발자 > 프로그래머스 알고리즘' 카테고리의 다른 글
코딩테스트 연습 - 키패드 누르기 | 프로그래머스 js ★★★☆☆ (0) | 2022.02.08 |
---|---|
코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 js ★★★☆☆ (0) | 2022.02.07 |
코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 js ★★★☆☆ (0) | 2022.02.07 |
코딩테스트 연습 - 이진 변환 반복하기 | 프로그래머스 js ★★☆☆☆ (0) | 2022.02.07 |
코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 js ★★☆☆☆ (0) | 2022.02.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker
- 백틱
- typeorm
- 에러
- 공부법
- 독커
- 프로그래머스
- js
- Playground
- NPM
- yarn
- 콜백
- 호이스팅
- arrowfunction
- GraphQL
- 코딩습관
- function
- 명령어
- error
- Spread
- axios
- arrow
- postman
- nodemon
- Console
- 코드캠프
- 도커
- Callback
- elasticsearch
- Rest
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함