N으로 표현 레벨3, 동적계획법 링크 처음으로 직접 풀게 된 DP, 동적계획법 문제입니다. 이전에 뭣모르고 알고리즘 책 부터 사서 읽어 볼 때, 다른 문제는 그래도 어떻게 풀면 되겠구나 싶었는데, 정말 답도 안나오고 모르겠던 유형이 아마 DP가 아니었나 싶습니다. 1. 문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. ㅇ 12 = 5 + 5 + (5 / 5) + (5 / 5) ㅇ 12 = 55 / 5 + 5 / 5 ㅇ 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다.이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solutio..
여행경로 레벨3, 깊이/너비 우선 탐색(DFS/BFS) 링크 이 문제는 예전에 알고리즘 책으로 공부 할 때 한번 풀었던 문제와 거의 동일했습니다. 그래서 그런지, 생각보다 쉽게 풀었습니다. 1. 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. ['출발지', '목적지'] 의 형태로 이루어진 항공권들이 주어지고, 이를 모두 활용해서 모든 공항을 방문하는 경로를 return 하는 문제입니다. 2. 제한사항 1. 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 2. 주어진 공항 수는 3개 이상..
더 맵게 레벨2, 힙 링크 작년에 프로그래밍을 처음 시작하고, 처음으로 접했던 프로그래머스 레벨 2 문제였습니다. 당시에는 heap이 뭔지도 몰랐기에.. 분명 논리적으로 맞는데, 계속 시간초과가 나서 정말 미치는줄 알았습니다. 그러다 결국 포기했었던 기억이 있는 문제입니다 1. 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지..
큰 수 만들기 레벨2, 그리디 링크 묘하게 가장 큰 수와 이름도 비슷하고 문제도 비슷해서 금방 풀줄 알았다.. 1. 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 문제의 요구사항은, 2~ 100,000자리의 number와 정수 1이상 len(numb..