썸네일 (자료구조) 스택, 큐 - 파이썬 스택 '스택'이란? 후입선출 (LIFO" Last In First Out)의 자료구조. 가장 늦게 들어온 값이 가장 늦게 나가는데, 이는 줄서기와 반대되는 개념이다. 리스트와는 다르게 읽기, 삽입, 삭제가 모든 인덱스에서 실행되지 못하고 한쪽 끝에서만 행할 수 있다. 그 한쪽 끝을 스택에서는 top이라고 한다. 쓰는 방법 파이썬에서는 스택을 따로 명시할 수 없다. 대신 리스트를 스택처럼 활용할 수 있는 내장함수가 있다. 선언 Stack = [1, 2, 3] print(Stack) # [1, 2, 3] 리스트를 선언하고 마음속으로 '이건 스택이다!' 라고 굳게 다짐하면 스택이 선언된다. 원소 삽입 Stack = [1, 2, 3] Stack.append(4) print(Stack..
썸네일 백준 9506번 약수들의 합 문제 https://www.acmicpc.net/problem/9506 문제 해석 입력 한 줄에 하나씩 정수가 입력되고 -1이 입력되면 프로그램을 종료한다. 출력 입력받은 수가 '완전수'라면 "{n} = {n의 약수} + {n의 약수} ... {n의 약수}"를 출력한다. '완전수'가 아니라면 "{n} is NOT perfect." 를 출력한다. 완전수란 자기 자신을 제외한 모든 약수의 합과 자기 자신이 같은 수를 말한다. 풀이 1번 풀이 n이 i로 나누어 떨어지는지 확인하고 나누어 떨어진다면 약수 배열에 추가한다. 1부터 n-1 까지 반복한다. 약수 배열의 합과 n이 같다면 완전수로 출력한다. 아니라면 완전수가 아님을 출력한다. -1이 입력될 때까지 반복한다. while Tr..
썸네일 백준 27433번 팩토리얼 2 - Python 문제 https://www.acmicpc.net/problem/27433 문제 해석 입력 정수 N이 출력된다. 출력 N!을 출력한다. 풀이 1번 풀이 재귀함수로 풀어보겠다. 함수 &#39;Factorial&#39; 는 인수로 정수 하나를 받고, 그 정수의 팩토리얼을 반환한다. &#39;Factorial&#39;은 전달된 정수가 2보다 작으면 1을 리턴하고 아님 정수 * Factorial(정수 - 1)을 반환한다. def Factorial(Num): if Num < 2: return 1 else: return Num * Factorial(Num-1) print(Factorial(int(input())))