전체 글(141)
-
[프로그래머스][LV.2] 큰 수 만들기 | python3
문제링크: 큰 수 만들기 문제설명어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한조건- number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. - k는 1 이상 number의 자릿수 미만인 자연수입니다. 문제풀이def solution(numb..
2025.03.18 -
[프로그래머스][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.3] 이중우선순위큐 | python3
문제링크: 이중우선순위큐 문제설명이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.제한조건- operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. - operations의 원소는 큐가 수행할 연산을 나타냅니다. - 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다. - 빈 큐에 데이터를 삭제하라는 연산이 주어질 경우, 해당 연산은 무시합니다. 문제풀이최소힙을 이..
2025.03.14 -
[프로그래머스][LV.2] 소수 찾기 | python3
문제링크: 소수 찾기 문제설명한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한조건- numbers는 길이 1 이상 7 이하인 문자열입니다. - numbers는 0~9까지 숫자만으로 이루어져 있습니다. - "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 문제풀이permutations 의 조합 수를 변수로 두어 for문을 돌리면 전체 조합을 얻을 수 있다.예를 들어 5개의 문자가 있고 이 문자들을 전체 조합을 알고 싶으면 perm..
2025.03.14