본문 바로가기
반응형
[프로그래머스] 가장 큰 정사각형 찾기 | JavaScript 가장 큰 정사각형 찾기 문제 설명 1과 0으로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 가 있다면 가장 큰 정사각형은 가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000이하의 자연수 표(board)의 열(column)의 크기 : 1,000이하의 자연수 표(board)의 값은 1또는 0으로만 이루어져 있습니다. 입출력 예 board answer [[0,1,1,1], [1,1,1.. 2021. 6. 23.
[Algorithm]다이나믹 프로그래밍(Dynamic Programming) 다이나믹 프로그래밍이란? 먼저 다이나믹 프로그래밍은 최단 경로를 구하는 다익스트라 알고리즘(Dijkstra algorithm)처럼 특정한 문제를 해결 할 수 있는 알고리즘이 아닌 문제를 해결하기 위한 접근 방식 중 하나이다. 즉 다이나믹 프로그래밍으로 풀 수 있는 문제들에 대해서 해당 문제를 푸는 것에 대해 생각의 틀을 제공해주는 프로그래밍 방법이다. 다이나믹 프로그래밍의 다양한 표현들 점화식 큰 문제를 작은 문제로 나누어 푸는 방법 과거에 구한 답을 활용하는 방법 메모이제이션 다이나믹 프로그래밍을 나타내는 다양한 표현들이 있지만 기본 개념은 다음과 같다. 재귀적으로 생각하기 + 불필요한 계산 줄이기(중복 제거하기) 재귀적으로 생각하기 ≒ 귀납적으로 생각하기 작은 문제는 해결이 되어 있다는 믿음을 가지고.. 2021. 6. 22.
[프로그래머스] 124 나라의 숫자 | JavaScript 124 나라의 숫자 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수입니다. 입출력 예 n result 1 1 2 2 3 4 4 11 코드 funct.. 2021. 6. 19.
VS Code 필수 Extension 모음 - 2(feat. 드림코딩) 1. Indent Rainbow Extension 모음 1편에서 Bracket Pair Colorizer가 괄호에 색상을 입혀준다면 이 익스텐션은 위 사진과 같이 들여쓰기에 색상을 입혀준다. 이 익스텐션도 설치하면 코드 가독성이 더 좋아진다. 2. Auto Rename Tag 위와 같이 자동으로 닫힘 괄호를 수정해준다. 은근히 시간을 절약해주는 익스텐션이다. 3. CSS Peek 맥은 cmd + click, 윈도우는 ctrl + click으로 HTML 클래스에서 해당 클래스의 CSS로 바로 이동이 가능하다. 4. HTML to CSS autocompletion HTML에 있는 class name이나 id name들을 CSS 파일에 제공해준다. 5. HTML CSS Support HTML to CSS co.. 2021. 6. 19.
[프로그래머스] 키패드 누르기 | 카카오 인턴 코딩 테스트 | JavaScript [카카오 인턴] 키패드 누르기 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 *, 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가.. 2021. 6. 18.
VS Code 필수 Extension 모음 - 1(feat. 드림코딩) 1. Material Theme VSCode에서 다양한 테마를 사용해봤지만 Material Theme의 'Material Theme Daker High Contrast' 테마가 가장 가독성도 좋고 보기에 편했다. 개인적으로 Cobalt2도 좋지만 다크모드가 아쉬워서 다시 material theme로 돌아가게 되었다. 2. Material Icon Theme 적용 전과 후를 비교하기 위해 Material Icon Theme를 비활성화 했는데 원래 저랬었나..? 생각보다 별 차이는 없는 것 같다.(아마 업데이트하면서 변경된 것 같다.) 난 테마에 적응하기도 했고 아이콘이 좀 더 크고 색이 선명해서 계속 쓰려고 한다. 3. Prettier - Code formatter 코드 포맷팅을 정말 쉽게 해준다. 이 익.. 2021. 6. 17.
[프로그래머스] 소수 만들기 | Summer/Winter 코딩 테스트 | JavaScript 소수 만들기 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력 예 nums result [1,2,3,4] 1 [1,2,7,6,4] 4 입출력 예 설명 입출력 예 #1 [1,2,4]를 이용해서 7을 만들 수 있습니다. 입출력 예 #2 [1,2,4]를 이용해서 7을 만들 수 있습니다. [1,.. 2021. 6. 17.
반응형