프로그래머스 코딩테스트 연습 Level 2 - 괄호 회전하기 (JavaScript)
프로그래머스 코딩테스트 연습 Level 2 - 괄호 회전하기 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중, [괄호 회전하기] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([])..
2022. 8. 8.
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 - 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으로 된 도로에 숫자 블록을 설치하기로 하였습니다. 숫자 블록의 규칙은 다음과 같습니다. 블록의 번호가 n 일 때, 가장 처음 블록은 n * 2번째 위치에 설치합니다. 그다음은 n * 3, 그다음은 n * 4, ...로 진행합니다.만약 기존에 블록이 깔려있는 자리라면 그 블록을빼고 새로운 블록으로 집어넣습니다. 예를 들어 1번 블록은 2,3,4,5, ... 인 위치에 우선 설치합니다. 그다음 2번 블록은 4,6,8,10, ... 인 위치에 설치..
2022. 7. 18.