반응형
https://school.programmers.co.kr/learn/courses/11133/lessons/71158
stack으로 queue를 구현하는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. func_a: stack이 비어있으면 error를 아니라면 가장 위의 원소를 pop한 뒤 해당 원소를 반환합니다.2. func_b: stack1의 원소들을 stack2로 옮깁니다.3. func_c: 인자로 받은 stack이 비어있는지 여부를 반환합니다.4.정답 변수 answer를 선언해줍니다.
📔 풀이과정
1. stack2가 비어있다면 func_b를 수행합니다.2. func_a를 수행해 answer에 stack2의 가장 위의 원소를 pop해 가져와 저장합니다.
📔 정답 출력 | 반환
answer를 반환합니다.
📕 Code
📔 Python3
def func_a(stack):
return stack.pop()
def func_b(stack1, stack2):
while not func_c(stack1):
item = func_a(stack1)
stack2.append(item)
def func_c(stack):
return (len(stack) == 0)
def solution(stack1, stack2):
if func_c(stack2):
func_b(stack1, stack2)
answer = func_a(stack2)
return answer
# 아래는 테스트케이스 출력을 해보기 위한 코드입니다.
stack1_1 = [1,2]
stack2_1 = [3,4]
ret1 = solution(stack1_1, stack2_1)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
stack1_2 = [1,2,3]
stack2_2 = []
ret2 = solution(stack1_2, stack2_2)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > 자료구조' 카테고리의 다른 글
(Python3) - 프로그래머스(코딩테스트 입문) : 한 번만 등장한 문자 (0) | 2024.10.30 |
---|---|
(Python3) - 프로그래머스(코딩테스트 입문) : 인덱스 바꾸기 (0) | 2024.10.30 |
(C++, Python3) - LeetCode (easy) 3043. Find the Length of the Longest Common Prefix (0) | 2024.09.25 |
(C++) - LeetCode (easy) 1832. Check if the Sentence Is Pangram (0) | 2024.08.17 |
(C++) - LeetCode (easy) 1796. Second Largest Digit in a String (0) | 2024.08.08 |