최신 글
-
Javascript
[Algorithm] 이진 탐색(Binary Search)
안녕하세요! MightyCoder입니다. 2021년 첫 포스트네요!(사실 이전 포스트도 몇개 없었지만 앞으로 더 열심히 블로그를 운영할 계획입니다..ㅎㅎ) 이번 포스트에서는 Javascript를 이용한 이진 탐색(Binary Search)을 소개하려고 합니다. 1. 알고리즘 설명 이진 탐색은 탐색할 범위를 축소해가며 원하는 값을 찾는 탐색 알고리즘입니다. 모든 탐색 범위를 전부 탐색하는 선형 탐색(Linear Search)보다 속도 면에서 빠르다는 장점이 있습니다. 그렇다면 어떠한 방식으로 탐색 범위를 축소하는 걸까요? 이진 탐색을 설명하기 위해 먼저 10개의 정수를 포함하고 있는 배열 arr를 선언하겠습니다. let arr = [1,4,6,2,10,3,5,8,9,7]; 이제 위의 배열에서 8을 찾아보겠..
-
프로그래머스
[프로그래머스] 키패드 누르기 (2020 카카오 인턴십)
문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다. 4..
-
백준
[문제풀이]백준 - 계단 오르기
알고리즘 분류: Dynamic Programming 문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 ..