본문 바로가기

전체 글324

프로그래머스 Level2 2021 카카오 채용연계형 인턴십 문제 - 거리두기 확인하기 (JavaScript) 프로그래머스 Level2 2021 카카오 채용연계형 인턴십 문제 - 거리두기 확인하기 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 2021 카카오 채용연계형 인턴십 문제인, [거리두기 확인하기] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다. 코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼 아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다. 대기실은 5개이며, 각 대기실은 5x5 크기입니다. 거리두기를 위하여 응시자들 끼리는 맨해튼 거리가 2 이하로 앉지 말아 주세요. 단 응시자가 앉아있는 자리.. 2022. 7. 27.
프로그래머스 Level2 2018 KAKAO BLIND RECRUITMENT 문제 - 뉴스 클러스터링 (JavaScript) 프로그래머스 Level2 2018 KAKAO BLIND RECRUITMENT 문제 - 뉴스 클러스터링 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 2018 KAKAO BLIND RECRUITMENT 문제인, [뉴스 클러스터링] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 .. 2022. 7. 26.
JavaScript 배열에서 특정 요소 개수 구하는 방법 JavaScript 배열에서 특정 요소 개수 구하는 방법 JavaScript에서 배열 내부에 특정 요소가 중복되어 존재하는 개수를 구하는 방법을 알려드리도록 하겠습니다. 목차 reduce() 사용하는 방법 filter() 사용하는 방법 for() OR forEach() 사용하는 방법 reduce() 사용하는 방법 const getElNum = (arr, el) => arr.reduce((ac, v) => ac + (v === el), 0); const array = ['A', 'B', 'C', 'D', 'A', 'A', 'C', 'E', 'D', 'E', 'A']; const test = getElNum(array, 'A'); console.log(test); // Output // 4 역시나 거의 만.. 2022. 7. 25.
JavaScript 배열 요소 중복 횟수 구하는 방법 (How to Count duplicate value in array in JavaScript) JavaScript 배열 요소 중복 횟수 구하는 방법 (How to Count duplicate value in array in JavaScript) JavaScript에서 배열 안에 요소들의 중복되는 횟수를 구하는 방법을 알려드리도록 하겠습니다. 목차 reduce() 사용하는 방법 for() OR forEach() 사용하는 방법 reduce() 사용하는 방법 const getElCount = (arr) => arr.reduce((ac, v) => ({ ...ac, [v]: (ac[v] || 0) + 1 }), {}); const array = ['A', 'B', 'C', 'D', 'A', 'A', 'C', 'E', 'D', 'E', 'A']; const test = getElCount(array); c.. 2022. 7. 24.
프로그래머스 코딩테스트 연습 Level 2 - 방문 길이 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 방문 길이 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [방문 길이] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다. 예를 들어, "ULURRDLLU"로 명령했다면 1번 명령어부터 7번 명령어까지.. 2022. 7. 23.
프로그래머스 코딩테스트 연습 Level 2 - 점프와 순간 이동 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 점프와 순간 이동 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [점프와 순간 이동] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언.. 2022. 7. 22.
프로그래머스 코딩테스트 연습 Level 2 - n^2 배열 자르기 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - n^2 배열 자르기 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [n^2 배열 자르기] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left].. 2022. 7. 21.
프로그래머스 코딩테스트 연습 Level 2 - 멀리 뛰기 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 멀리 뛰기 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [멀리 뛰기] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, soluti.. 2022. 7. 20.
프로그래머스 코딩테스트 연습 Level 2 - 이진 변환 반복하기 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 이진 변환 반복하기 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [이진 변환 반복하기] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을.. 2022. 7. 19.
프로그래머스 코딩테스트 연습 Level 2 - 숫자 블록 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 숫자 블록 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [숫자 블록] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 그렙시에는 0으로 된 도로에 숫자 블록을 설치하기로 하였습니다. 숫자 블록의 규칙은 다음과 같습니다. 블록의 번호가 n 일 때, 가장 처음 블록은 n * 2번째 위치에 설치합니다. 그다음은 n * 3, 그다음은 n * 4, ...로 진행합니다.만약 기존에 블록이 깔려있는 자리라면 그 블록을빼고 새로운 블록으로 집어넣습니다. 예를 들어 1번 블록은 2,3,4,5, ... 인 위치에 우선 설치합니다. 그다음 2번 블록은 4,6,8,10, ... 인 위치에 설치.. 2022. 7. 18.
프로그래머스 코딩테스트 연습 Level 2 - 피보나치 수 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 피보나치 수 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [피보나치 수] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 123.. 2022. 7. 17.
프로그래머스 코딩테스트 연습 Level 2 - 줄 서는 방법 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 줄 서는 방법 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [줄 서는 방법] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람이 있다면 다음과 같이 6개의 방법이 있습니다. [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 사람의 수 n과, 자연수 k가 주어질 때, 사람을 나열 하는 방법을 사전 순으로 나열 했을 때, k번째 .. 2022. 7. 16.