Skip to content

Commit 754c65f

Browse files
authored
[yulrang] 25.01.09 (#18)
* Slice array / 기초 * Length of array items / 기초 * Shift array / 기초 * Number of duplicated item / 기초 * Remove lowest number / 중급 * Sum of matrix / 중급 * Multiple number / 중급 * Chore: 폴더명 변경경 * 문자열 뒤집기 / 기초 * 컨트롤 제트 / 기초 * 영어는 어려워 / 기초 * 문자열 계산하기 / 기초 * 크레인 인형뽑기 게임 / 중급 * refactor: 크레인 인형뽑기 게임 / 중급 * 올바른 괄호 / 중급 * 다트 게임 / 중급
1 parent 2e7bf81 commit 754c65f

File tree

7 files changed

+160
-0
lines changed

7 files changed

+160
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function solution(my_string) {
2+
var answer = '';
3+
answer = my_string.split('').reverse().join('');
4+
return answer;
5+
}

yulrang/02_Stack/02_Ctrl_Z.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function solution(s) {
2+
var answer = 0;
3+
let arr = s.split(' ');
4+
let newArr = [];
5+
6+
for(let i=0; i<arr.length; i++) {
7+
if( arr[i] !== 'Z' ) {
8+
newArr.push(arr[i]);
9+
} else {
10+
newArr.pop(arr[i-1])
11+
}
12+
}
13+
answer = newArr.reduce((acc, cur) => acc + Number(cur), 0);
14+
return answer;
15+
}

yulrang/02_Stack/03_English.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
function solution(numbers) {
2+
var answer = 0;
3+
const numberObj = {
4+
zero : 0,
5+
one : 1,
6+
two : 2,
7+
three : 3,
8+
four : 4,
9+
five : 5,
10+
six : 6,
11+
seven : 7,
12+
eight : 8,
13+
nine : 9,
14+
}
15+
16+
for ( const num in numberObj ){
17+
numbers = numbers.replaceAll(num, numberObj[num]);
18+
}
19+
answer = Number(numbers);
20+
21+
return answer;
22+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
function solution(my_string) {
2+
var answer = 0;
3+
let newArr = [];
4+
my_string.split(' ').forEach((el, idx, arr) => {
5+
if(idx === 0) {
6+
newArr.push(Number(el));
7+
}
8+
if(el === '+' || el === '-') {
9+
newArr.push(Number(arr[idx + 1]))
10+
if (el === '+'){
11+
answer = newArr[0] + newArr[1];
12+
} else {
13+
answer = newArr[0] - newArr[1];
14+
}
15+
newArr = [];
16+
newArr.push(answer);
17+
}
18+
})
19+
answer = newArr[0];
20+
return answer;
21+
}

yulrang/02_Stack/05_KaKao_game.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
function solution(board, moves) {
2+
let answer = 0;
3+
let basket = [];
4+
5+
const runBasket = () => {
6+
for(let i=basket.length-1; i>0; i--) {
7+
if(basket[i] === basket[i-1]) {
8+
basket.splice(i-1, 2);
9+
answer += 2;
10+
}
11+
}
12+
}
13+
14+
for(let i=0; i<moves.length; i++) {
15+
for(let j=0; j<board[0].length; j++) {
16+
if(board[j][moves[i]-1] !== 0){
17+
basket.push(board[j][moves[i]-1]);
18+
board[j][moves[i]-1] = 0;
19+
runBasket();
20+
break;
21+
}
22+
}
23+
}
24+
25+
return answer;
26+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
function solution(s){
2+
var answer = true;
3+
let pairArr = [];
4+
5+
s.split('').forEach((el) => {
6+
if(el === '(') {
7+
pairArr.push(el);
8+
} else if(el === ')' && pairArr.includes('(')) {
9+
pairArr.pop();
10+
} else
11+
pairArr.push('-');
12+
})
13+
14+
answer = pairArr.length === 0 ? true : false;
15+
16+
return answer;
17+
}

yulrang/02_Stack/07_Dart_game.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
function solution(dartResult) {
2+
var answer = 0;
3+
let scoreArr = [];
4+
5+
dartResult.split('').forEach((el, idx, arr) => {
6+
switch(el){
7+
case 'S':
8+
scoreArr[scoreArr.length-1] = Math.pow(scoreArr[scoreArr.length-1], 1);
9+
break;
10+
case 'D':
11+
scoreArr[scoreArr.length-1] = Math.pow(scoreArr[scoreArr.length-1], 2);
12+
break;
13+
case 'T':
14+
scoreArr[scoreArr.length-1] = Math.pow(scoreArr[scoreArr.length-1], 3);
15+
break;
16+
case '1':
17+
if(arr[idx+1] === '0') scoreArr.push(10);
18+
else scoreArr.push(1);
19+
break;
20+
case '0':
21+
if(arr[idx-1] !== '1') scoreArr.push(0);
22+
break;
23+
case '*':
24+
break;
25+
case '#':
26+
break;
27+
default :
28+
scoreArr.push(Number(el));
29+
break;
30+
}
31+
})
32+
33+
dartResult.split('').forEach((el, idx, arr) => {
34+
let targetIdx = 0;
35+
36+
if(idx >= 6) targetIdx = 2;
37+
else if(idx >= 4 && idx < 6) targetIdx = 1;
38+
else targetIdx = 0;
39+
40+
switch(el){
41+
case '*':
42+
scoreArr[targetIdx] = scoreArr[targetIdx] * 2;
43+
scoreArr[targetIdx - 1] = scoreArr[targetIdx - 1] * 2;
44+
break;
45+
case '#':
46+
scoreArr[targetIdx] = scoreArr[targetIdx] * (-1);
47+
break;
48+
}
49+
});
50+
51+
answer = scoreArr.reduce((acc, cur) => acc + cur, 0);
52+
53+
return answer;
54+
}

0 commit comments

Comments
 (0)