[프로그래머스] 비밀지도
코딩테스트 2022. 11. 17. 12:58

function solution(n, arr1, arr2) { const result = arr1.reduce((acc,cur,index)=>{ const check = checkPosition( addZero(n,cur.toString(2)), addZero(n,arr2[index].toString(2)) ) return acc = [...acc,check ] },[]) return result; } // 이진수 변환후 반복문을 이용해 각자릿수를 비교해야하는데, // 자리수가 맞지 않는 경우가 존재하여 정해진 자리수만큼 0을 더해주는작업 const addZero = (n, string) => { for(let i = 0; i < n; i++){ if(string.length < n){ string = ..

[프로그래머스] 푸드 파이트 대회
코딩테스트 2022. 11. 15. 20:44

function solution(food) { const reduceResult = food.reduce((acc,cur,index)=>{ // 0번째 인덱스는 항상 물이기때문에 예외처리 if(!index) return acc for(let i = 0; i < Math.floor(cur/2); i++){ // 절반을 나누고 반내림하여 두 사람이 나눌수 있는 갯수 도출 // 도출된 숫자만큼 반복문을 통하여 음식 번호를 스트링으로 추가 acc += index } return acc },'') // 한쪽을 구한뒤 중간에 물이 배치되고 리버스되는 형식이므로 완성된 텍스트를 배열 처리 , 리버스 후 합치기 return reduceResult + 0 + reduceResult.split('').reverse().j..

[프로그래머스] 땅따먹기
코딩테스트 2022. 10. 25. 21:03

function solution(land) { // 열,길이,깊은복사 const column = 4; const temp = land.slice(); const tempLength = temp.length; // 1,2,3,5 1,2,3,5 1,2,3,5 // 5,6,7,8 -> 10,11,12,11 -> 10,11,12,11 // 4,3,2,1 4,3,2,1 16,15,13,13 // 이전의 행을 더하는 방법으로 작성, 0번째의 이전은 없으므로 1부터 시작 for (let i = 1; i < tempLength; i++) { for (let j = 0; j < column; j++) { // 이중배열 반복문으로 각 행의 열 순회하며 이전 행의 최대값을 더해준다. 같은 열을 밟을수 없기때문에 필터를 사용..