본문 바로가기
  • Secret Notes
[프로그래머스] 큰 수 만들기 | 파이썬 문제설명더보기어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한사항더보기number는 2자리 이상, 1,000,000자리 이하인 숫자입니다.k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예문제풀이이 문제는 파이썬으로 풀때는 주어진 사항을 따라서 .. 2024. 5. 23.
[프로그래머스] 키패드 누르기 | 파이썬 문제설명더보기 제한사항더보기 입출력 예문제풀이별다른 개념이 들어간 문제는 아니었지만 문제를 해결하는데 필요한 설계가 까다로운 문제였다. 우선 키패드 모양을 좌표와 배열로 구현할 수 있어야 하며 눌러야하는 키패드의 위치를 하나씩 확인하면서 어느 손으로 눌러야 할지를 정한다. 이때 손을 결정하는 기준은 우선적으로는 가까이 있는 손을 선택하며 거리가 같을 경우 hand 변수에 주어진 손이 우선권을 가지고 누르게 된다.처음에는 문제에서 접근하는 방식을 표로 잘 설명해 주었는데 이때 사용된 왼손, 오른손 위치와 눌러야 하는 키의 위치를 기반으로 어떠한 손으로 누르는지를 잘 확인할 필요가 있다. 그리고 키패드를 누르고 나면 해당 손의 위치를 그곳으로 이동시켜주는 것도 빠져서는 안된다.(그래서 조건문 분기를 타면 버.. 2024. 5. 21.
[프로그래머스] 쿼드압축 후 개수 세기 | 파이썬 문제설명더보기0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다.당신이 압축하고자 하는 특정 영역을 S라고 정의합니다만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다.그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다.arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 제한사항더보기arr의 행의 개.. 2024. 5. 21.
[프로그래머스] 크레인 인형뽑기 | 파이썬 문제설명더보기게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다.죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다.게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다.모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다.게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다.집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸.. 2024. 5. 20.
[프로그래머스] 햄버거 만들기 | 파이썬 문제설명더보기햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다.예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때,.. 2024. 5. 20.
[프로그래머스] 숫자 변환하기 | 파이썬 문제설명더보기자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다.x에 n을 더합니다x에 2를 곱합니다.x에 3을 곱합니다.자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 제한사항더보기1 ≤ x ≤ y ≤ 1,000,0001 ≤ n  y 입출력 예문제풀이숫자 x를 y가 될때까지 연산을 하는 방식으로 BFS(Breadth-First Search)방법과 DP(Dynamic Programming) 방법 두 가지로 풀어 낼 수 있다. 완전 탐색을 위하여 그리고 보다 쉽게 구현 할 수 있는 BFS로 접근하여 풀어어보았다. 접근.. 2024. 5. 10.
반응형