FrontEnd
[JS] 가위 바위 보
모스부호와 비슷하게 이기는 경우를 저장해놓고 해당 값을 빼주었다. 어차피 숫자로 갑시 처리되어 있었기에 일반 인덱스를 활용했다. function solution(rsp) { const win = [5,0,0,0,0,2] var answer = [...rsp].map(el => win[el]).join(""); return answer; }
[JS] 모음 제거
a,e,i,o,u 가있는지 판별해서 있으면 제거해주기 때문에 filter를 사용해서 구현해줬다. filter는 배열에 사용할 수 있으므로 배열로 바꾼 후, filter를 거치고 나온 결과를 다시 문자열로 바꿔주었다. function solution(my_string) { var answer = [...my_string].filter(el => !["a","e","i","o","u"].includes(el)); return answer.join(""); }
[JS] 개미 군단
간단한 그리디 알고리즘이라 생각할 수 있는 문제이다. 장군개미 , 병정개미, 일개미 순으로 최대한 많이 넣을 수 있을만큼 넣게 하면 된다. function solution(hp) { const g_ant = parseInt(hp/5) const s_ant = parseInt( ( hp % 5 ) / 3) const o_ant = ( hp % 5 ) % 3 return g_ant + s_ant + o_ant }
[JS] 진료순서 정하기
처음에는 약간 복잡하게 생각했다. 우선 idx를 포함한 배열을 정렬한다. 그러면 그 배열에는 정렬되기전 idx값을 포함하기 때문에 새로운 배열을 만들어 그에따라 값을 넣어주었다. 즉 [3,76,24] 라면 [[3,0],[76,1],[24,2]] [[76,1],[24,2],[3,0]] 이란 배열을 얻게 되는데 해당 배열을 돌면서 1의 값을 배열 두번째에 넣어주고 2의 값을 배열 세번째에 넣어주고 3의 값을 배열 첫번째에 넣어주면 된다. function solution(emergency) { const e = emergency.map((el,idx) => [el,idx]) console.log(e) var e2 = e.sort((a,b) => b[0]-a[0]).map((el,idx) => [idx,el[1..
[JS] 숨어있는 숫자의 덧셈(1)
reduce 함수를 활용해서 숫자인 경우에만 더해주면 된다. 숫자를 판별하기 위해서는 isNaN 함수를 사용하면 된다. isNaN()은 ()안의 값이 숫자가 아닌경우에 참, 숫자면 거짓을 내보내는데 String형식이어도 그 안의 값이 숫자면 숫자로 인식한다. function solution(my_string) { const answer = [...my_string].reduce((acc,cur) => isNaN(cur) ? acc : acc+ parseInt(cur) ,0) return answer; }
[JS] 제곱수 판별하기
자바스크립트의 pow 함수를 이용하면 제곱이나 루트를 씌울 수 있다. 따라서 해당 함수를 활용하여 루트를 씌운 후 나온 값이 정수인지 아닌지 판별하면 된다. function solution(n) { var answer = Number.isInteger(Math.pow(n,0.5)) ? 1 : 2; console.log(Math.pow(n,0.5)) return answer; }