Algorithm 236

이진 변환 반복하기 ( Level 2, JavaScript, 월간 코드 챌린지 시즌1)

이진 변환 반복하기 ( Level 2 ) Programmers 월간 코드 챌린지 시즌1 ( JavaScript ) 문제 링크 나의 풀이 function solution(s) { let count = 0, countZero = 0; while ( s !== "1" ) { if ( s.split('').every(a => a === '1') ) { s = (s.length).toString(2) } else { const len = s.split('').filter(a => a === '1').length countZero += s.length - len s = len.toString(2) } count++ } return [count, countZero] } 변환 횟수 count, 제거된 0의 개수를 담을..

방문 길이 ( Level 2, JavaScript, Summer/Winter Coding )

방문 길이 ( Level 2 ) Summer/Winter Coding ~2018 ( JavaScript ) 문제 링크 나의 풀이 function solution(dirs) { const arr = [] let cur = [0,0] for ( let i = 0; i = -4 ) { cur[0] -= 1 arr.push([cur[0] + 0.5, cur[1]]) } break; case "R": if ( cur[0] ''+el))].length } [0, 0] -> [0, 1] 과 [1, 0] -> [0, 0]이 동일한 경로로 이동하기 때문에 이를 구분짓기 위해서 움직이는쪽의 좌표를 평균값..

스킬트리 ( Level 2, JavaScript, Summer/Winter Coding )

스킬트리 ( Level 2 ) Summer/Winter Coding ~2018 ( JavaScript ) 문제 링크 나의 풀이 function solution(skill, skill_trees) { let count = 0; const arr = skill_trees.map( s => s.split('').map( e => skill.includes(e) ? e : '').join('') ) for ( let i = 0; i < arr.length; i++ ) { if ( arr[i] === '' ) count++ let temp = -1; for ( let j = 0; j < arr[i].length; j++ ) { if ( skill.indexOf(arr[i][j]) !== temp + 1 ) { b..