-
[프로그래머스/javascript] 키보드 누르기(그리드 이용해서 다시풀것)코딩테스트 2023. 2. 1. 17:44
function solution(numbers, hand) { var answer = ''; let leftThumb = '*'; let rightThumb = '#'; let bb =''; let aa=''; for(let i=0;i<numbers.length;i++){ if(numbers[i]===1||numbers[i]===4||numbers[i]===7){ answer+='L'; leftThumb = numbers[i] }else if(numbers[i]===3||numbers[i]===6||numbers[i]===9){ answer+='R' rightThumb = numbers[i] }else{ let leftThumbR = 0; let rightThumbR = 0; if(numbers[i]===leftThumb) leftThumbR = 0 else{ if(numbers[i]===0) numbers[i]=11 if(leftThumb===0){ leftThumb=11 } if(leftThumb==='*'){ leftThumb=10 } if(leftThumb%3===1){ let a = Math.abs(Number(numbers[i])-Number(leftThumb+1)); leftThumbR++; while(a>0){ a=a-3; leftThumbR++; } }else{ let a = Math.abs(Number(numbers[i])-Number(leftThumb)); while(a>0){ a=a-3; leftThumbR++; } } if(numbers[i]===11) numbers[i]=0; } // // if(rightThumb===numbers[i]){ rightThumbR = 0; }else{ if(numbers[i]===0) numbers[i]=11 if(rightThumb===0){ rightThumb=11; } if(rightThumb==='#'){ rightThumb=12; } if(rightThumb%3===0){ let a = Math.abs(Number(numbers[i])-Number(rightThumb-1)); rightThumbR++; while(a>0){ a=a-3; rightThumbR++; } }else{ let a = Math.abs(Number(numbers[i])-Number(rightThumb)); while(a>0){ a=a-3; rightThumbR++; } } if(numbers[i]===11) numbers[i]=0; } // aa+=leftThumbR bb+=rightThumbR // if(leftThumbR<rightThumbR){ answer+='L' leftThumb = numbers[i]; }else if(leftThumbR>rightThumbR){ answer+='R'; rightThumb = numbers[i] }else if(leftThumbR===rightThumbR){ if(hand==='right'){ answer+='R'; rightThumb = numbers[i] }else{ answer+='L'; leftThumb = numbers[i] } } } //모르겠다...rightThumb나 leftThumb가 0인 경우, '*'인경우, '#'인경우 고려하면 될듯... } return answer; }
아주 복잡하게 풀었다 꼭 다시 풀어볼것
'코딩테스트' 카테고리의 다른 글
[프로그래머스/javascript] 햄버거 만들기 (0) 2023.02.04 [프로그래머스/javascript] 크레인 인형뽑기 게임(다시 풀것) (0) 2023.02.02 [프로그래머스/javascript] 명예의전당(1) (0) 2023.01.31 [프로그래머스/javascript] 다트게임 (0) 2023.01.30 [프로그래머스/javascript] 푸드 파이트 대회 (0) 2023.01.20