GitHub ID : soohyun-dev
윤수현의 개발 공간
GitHub ID : soohyun-dev
전체 방문자
오늘
어제
  • 분류 전체보기 (918)
    • 성장기록 (49)
      • 성장기록 (3)
      • 우아한테크코스 (16)
      • 프로젝트 (15)
      • TIL (14)
      • 테오의 스프린트 (1)
    • 프로그래밍언어 (88)
      • C언어 (14)
      • HTML\CSS (12)
      • JavaScript (7)
      • React (23)
      • Python (11)
      • JAVA (14)
      • TypeScript (6)
    • 알고리즘 공부 (736)
      • 코드업 - 파이썬 (108)
      • 백준 - 파이썬 (468)
      • 백준 - 자바스크립트 (125)
      • 프로그래머스 - 파이썬 (1)
      • 프로그래머스 - 자바스크립트 (34)
    • 책 리뷰 (9)
      • 프로그래밍 (3)
      • 독서 (6)
    • 전자기기 (1)
    • 일상, 일기 (18)
    • 기술 세미나 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준풀이
  • 프로그래밍언어
  • 백준
  • javascript
  • 파이썬
  • 자바스크립트
  • 코드업파이썬
  • 프로그래머스자바스크립트
  • 프로그래머스
  • 코드업
  • 영어
  • 영어독해
  • 코테
  • 코딩테스트
  • 코딩
  • 프론트엔드
  • PYTHON
  • 백준파이썬
  • 독해
  • 프로그래머스풀이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GitHub ID : soohyun-dev

윤수현의 개발 공간

프로그래머스 / Level1 , 2020 카카오 인턴십 , 키패드 누르기 자바스크립트 , JS
알고리즘 공부/프로그래머스 - 자바스크립트

프로그래머스 / Level1 , 2020 카카오 인턴십 , 키패드 누르기 자바스크립트 , JS

2022. 9. 17. 23:49

프로그래머스 / Level1 , 2020 카카오 인턴십 , 키패드 누르기 자바스크립트 , JS

 

 

 

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/67256

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

 

 

 

 

정답

 

 

 

 

 

const cal = (x, y, a, b) => {
  let tmp = Math.abs(x - a) + Math.abs(y - b);
  return tmp;
};

function solution(numbers, hand) {
  var answer = "";
  const arr = [
    [1, 3],
    [0, 0],
    [1, 0],
    [2, 0],
    [0, 1],
    [1, 1],
    [2, 1],
    [0, 2],
    [1, 2],
    [2, 2],
  ];
  let [left_x, left_y] = [0, 3];
  let [right_x, right_y] = [2, 3];
  let [s_x, s_y] = [0, 0];
  let check = true;
  for (let i of numbers) {
    if (i === 1 || i === 4 || i === 7) {
      // 왼손으로 무조건 누를 때
      answer += "L";
      [left_x, left_y] = arr[i];
    } else if (i === 3 || i === 6 || i === 9) {
      // 오른손으로 무조건 누를 때
      answer += "R";
      [right_x, right_y] = arr[i];
    } else {
      // 왼손, 오른손 구분해줘야 할 때
      [s_x, s_y] = arr[i];
      if (cal(left_x, left_y, s_x, s_y) > cal(right_x, right_y, s_x, s_y))
        check = true;
      else if (cal(left_x, left_y, s_x, s_y) < cal(right_x, right_y, s_x, s_y))
        check = false;
      else {
        if (hand === "right") check = true;
        else check = false;
      }
      if (check === true) {
        answer += "R";
        [right_x, right_y] = [s_x, s_y];
      } else {
        answer += "L";
        [left_x, left_y] = [s_x, s_y];
      }
    }
  }
  return answer;
}
반응형

'알고리즘 공부 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글

프로그래머스 / Level2 , 2017 팁스타운 , 짝지어 제거하기 자바스크립트 , JS  (0) 2022.09.19
프로그래머스 / Level1 , 2019 카카오 개발자 겨울 인턴십 , 크레인 인형뽑기 게임 자바스크립트 , JS  (0) 2022.09.18
프로그래머스 / Level1 , 2018 KAKAO BLIND RECRUITMENT , [1차] 다트 게임 자바스크립트 , JS  (0) 2022.09.15
프로그래머스 / Level1 , 2019 KAKAO BLIND RECRUITMENT , 실패율 자바스크립트 , JS  (0) 2022.09.14
프로그래머스 / Level1 , 2021 카카오 채용연계형 인턴십 , 숫자 문자열과 영단어 자바스크립트 , JS  (0) 2022.09.13
    '알고리즘 공부/프로그래머스 - 자바스크립트' 카테고리의 다른 글
    • 프로그래머스 / Level2 , 2017 팁스타운 , 짝지어 제거하기 자바스크립트 , JS
    • 프로그래머스 / Level1 , 2019 카카오 개발자 겨울 인턴십 , 크레인 인형뽑기 게임 자바스크립트 , JS
    • 프로그래머스 / Level1 , 2018 KAKAO BLIND RECRUITMENT , [1차] 다트 게임 자바스크립트 , JS
    • 프로그래머스 / Level1 , 2019 KAKAO BLIND RECRUITMENT , 실패율 자바스크립트 , JS
    GitHub ID : soohyun-dev
    GitHub ID : soohyun-dev
    환영합니다!😊 이곳은 저의 개발에 관한 내용들을 정리하는 공간입니다. 알고리즘 풀이에도 관심이 많아요. 좋은 하루 되세요~! github : soohyun_dev

    티스토리툴바