완전탐색(8)
-
[프로그래머스][LV.3] N으로 표현 | python3
문제링크: N으로 표현 문제설명아래와 같이 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 하도록 solution 함수를 작성하세요. 제한조건- N은 1 이상 9 이하입니다. - number는 1 이상 32,000 이하입니다. - 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. - 최솟값이 8보다 크면 -1을 return 합니다. 문제풀이1...
2025.03.28 -
[프로그래머스][LV.2] 조이스틱 | python3
문제링크: 조이스틱 문제설명조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 (마지막 위치에서 오른쪽으로 이동하면 첫 번째 문자에 커서) 예를 들어 아래의 방법으로 "JAZ"를 만들 수 있습니다. - 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다. - 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다. - 마지막 위치에서 조이스틱..
2025.03.18 -
[프로그래머스][LV.2] 전력망을 둘로 나누기 | python3
문제링크: 전력망을 둘로 나누기 문제설명n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한조건- n은 2 이상 100 이하인 자연수입니다. - wires는 길이가 n-1인 정수형 2차원 배열입니다. - wires의 각 원소는 [v1, v2] 2개..
2025.03.16 -
[프로그래머스][LV.2] 모음사전 | python3
문제링크: 모음사전 문제설명사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한조건- word의 길이는 1 이상 5 이하입니다. - word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 문제풀이permutation은 중복을 허용하지 않기 때문에 리스트에 각 문자를 5개씩 넣어줬다. 조합을 구해서 리스트에 추가하는 부분에서 append를 써서 T..
2025.03.15 -
[프로그래머스][LV.2] 소수 찾기 | python3
문제링크: 소수 찾기 문제설명한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한조건- numbers는 길이 1 이상 7 이하인 문자열입니다. - numbers는 0~9까지 숫자만으로 이루어져 있습니다. - "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 문제풀이permutations 의 조합 수를 변수로 두어 for문을 돌리면 전체 조합을 얻을 수 있다.예를 들어 5개의 문자가 있고 이 문자들을 전체 조합을 알고 싶으면 perm..
2025.03.14 -
[프로그래머스][LV.2] 피로도 | python3
문제링크: 피로도 문제설명XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가..
2025.03.14