본문 바로가기

728x90

Lv.2

(2)
[프로그래머스] Lv.2 두 큐 합 같게 만들기 [Python] 두 개의 큐가 주어지면 다음 작업을 통해 각 큐의 합이 서로 같게 만드는 최소 횟수를 구하는 문제 작업: 한 큐의 첫 원소를 다른 큐의 마지막 원소로 옮기는 작업을 한 횟수로 취급 더보기 문제 설명 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출$($pop$)$하고, 추출된 원소를 다른 큐에 집어넣는$($insert$)$ 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면..
[프로그래머스] Lv.2 하노이의 탑 [Python] 하노이 탑에서 원판을 옮기는 과정을 2차원 배열에 [출발 기둥, 도착 기둥]을 처음부터 끝까지 기록해서 반환하는 문제 기둥은 3개$($1,2,3번 기둥이 있음$)$, 원판이 1번 기둥에 n개 주어지고, 3번 기둥으로 옮기는 과정 큰 원판은 밑에 작은 원판은 위에 존재해야하는 규칙이 있음$($큰 원판이 작은 원판 보다 위에 있을 수 없음$)$ 더보기 문제 설명 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입..