FrontEnd
[JS] 저주의 숫자 3
3으로 나누어지거나 3이 포함되어있으면 그 수만큼 n을 늘려주면 된다. 중요한건 늘어난 부분또한 계산을 해주어야 한다 function solution(n) { for (let i =1 ; i
[JS] 안전지대
https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 지도를 순회하면서 지뢰인 경우, 8방향으로 위험지대임을 표시해주고, 이후 안전지대로 남아있는 부분의 개수를 세 주는 방식으로 해결하였다. function solution(board) { const n = board.length const dx = [0,1,1,1,0,-1,-1,-1] const dy = [-1,-1,0,1,1,1,0,-1] for (let i=0;i
[JS] 캐릭터의 좌표
2차원 배열에서 특정캐릭터의 움직임을 표현하는 것이기에 dx,dy 를 써서 구현해보았다. switch문을 사용할 수도있지만 dx,dy를 활용하면 나중에 대각선의 움직임까지 확장하기가 편하다 function solution(keyinput, board) { const dx =[0,1,0,-1] const dy=[1,0,-1,0] const keyInfo = { "up" : 0, "right" : 1, "down" : 2, "left" : 3 } const maxX = parseInt(board[0]/2) const maxY = parseInt(board[1]/2) const player = [0,0] for (const key of keyinput){ const nx = player[0] +dx[keyIn..
[JS] 7의 개수
reduce를 두번 사용해서 모든 경우에서 7의 개수를 세 주었다. 근데 다시생각해보면 애초에 긴 하나의 문자열로 만들어서 그 중 7의 개수를 세는 방식도 괜찮았을 거 같다. function solution(array) { var answer = array.reduce((a,c)=> a + [...String(c)].reduce((a,c)=> c==='7' ? a+1:a ,0) ,0); return answer; }
[JS] 문자열 정렬하기 (2)
LowerCase를 활용하여 소문자로 만들어준 후, sort함수를 활용하여 정렬해주고 이를 다시 문자열로 만들어주면 된다. function solution(my_string) { var answer = [...my_string.toLowerCase()].sort().join(""); return answer; }
[JS] 한번만등장한 문자
JS에 indexOf 말고 lastIndexOf 함수가 있는데, 이를 이용해서 두개가 같은지 아닌지를 활용해볼 수 있다. function solution(s) { return [...[...s].reduce((a,c) => s.indexOf(c) === s.lastIndexOf(c) ? a+c: a,"")].sort().join(""); }