파이썬 프로그래밍
-
파이썬 데이터 구조 - Queue(큐)파이썬 프로그래밍/파이썬 기초 2020. 10. 12. 23:39
1. Queue 구조 줄을 서는 행위와 유사 가장 먼저 들어간 데이터를 가장 먼저 꺼내는 구조 공연장에 가장 먼저 줄을 선 사람이 제일 먼저 입장하는 것과 동일한 방식FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out)방식으로 stack과 꺼내는 순서가 반대 2. 알아둘 용어Enqueue : 큐에 데이터를 넣는 방식Dequeue : 큐에서 데이터를 꺼내는 기능 3. Queue의 종류 Queue() : 가장 일반적인 큐 자료 구조LifoQueue() : 나중에 입력된 데이터가 먼저 출력되는 구조(스택 구조와 유사)PrioirityQueue() :데이터마다 우선 순위를 입력하여, 우선순위가 높은 데이터순으로 출력 3.1. Queue()로 큐 만들기 (가장 일반적인 큐..
-
백준 1541번 다이나믹 프로그래밍 - 잃어버린 괄호파이썬 프로그래밍/파이썬 코딩테스트 공부 2020. 8. 31. 23:18
문제세준이는 양수와 +, -, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.입력첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다.출력첫째 줄에 정답을 출력한다.import sys a = list(sys.stdin.readline().strip().split("-")) part = [] for t in a: ..
-
백준 2839번 다이나믹 프로그래밍 - 설탕배달파이썬 프로그래밍/파이썬 코딩테스트 공부 2020. 8. 30. 22:03
문제상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)출력상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로..
-
백준 11047 동전 0 - 다이나믹프로그래밍파이썬 프로그래밍/파이썬 코딩테스트 공부 2020. 8. 23. 19:23
문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. N, K = map(int, input().split()) coins = list(int(input()) for _ in range(N)) coin_num = 0 for i ..
-
파이썬 기초 chapter-5 (for문)파이썬 프로그래밍/파이썬 기초 2020. 8. 23. 17:00
for문프로그래밍 언어에서 반복문으로 접할 수 있는 문법으로 for문과 while문을 사용합니다. 이번 chapter에선 for문에 대해 간단하게 설명하도록 하겠습니다. for문의 기본 구조는 다음과 같습니다. a는 리스트, 튜플, 딕셔너리를 사용하고 i 변수는 a의 요소를 차례로 불러오는것을 볼 수 있습니다. 이렇듯 파이썬의 함수는 직관적으로 판단하기 굉장히 편한 프로그래밍 언어임을 알 수 있습니다. 다양한 for문의 활용리스트 + 튜플의 조합을 활용 for문 + if 문을 활용 rangefor문은 숫자 리스트를 자동으로 만들어 주는 range 함수를 사용하는 경우가 많습니다. range 함수에 대한 간단한 사용법을 확인해 보겠습니다. range의 사용법은 범위를 지정해주는 방법이 다양합니다. 범위의 ..
-
파이썬 기초 chapter - 4 (if문)파이썬 프로그래밍/파이썬 기초 2020. 8. 22. 23:38
if문프로그래밍에서 가장 많이 사용하는 문법중 하나 if문에 대해 설명하도록 하겠습니다. if는 영어의 의미와 유사하게 특정 조건을 나타내는 파이썬 문법으로 특정 조건이 일치 하다면실행하겠다는 의미입니다. 간단한 예로 보여드리면 파이썬의 if문은 굉장히 간결하고 사용하기 편리합니다. 위 if 문을 보시면 "a가 10보다 크거나 같다면 print("참")을 출력해라"로 해석할 수 있습니다. a를 20으로 선언해주었기 때문에 참을 출력하는 것을 볼 수 있습니다. 이번에는 if 구문과 함께 쓰이는 else 구문을 써 보도록 하겠습니다. else구문은 "if 조건 이외"로 해석이 가능하며 사용법은 아래와 같습니다. "a가 30보다 크다면 참 그렇지 않다면 거짓을 출력하라"로 해석할 수 있습니다. 해당 코드에 정..
-
파이썬 기초 chapter-3 (딕셔너리)파이썬 프로그래밍/파이썬 기초 2020. 8. 22. 19:15
딕셔너리(dictionary) 자료형파이썬에서 리스트, 튜플이외에 또 많이 사용하는 자료형은 딕셔너리 자료형입니다. 단어 그대로 해석하면 사전이라는 뜻으로 딕셔너리는 key와 Value를 한 쌍으로 갖는 자료형입니다. 예를들어 Key가 "soccer"이라면 Value는 "축구"가 될 것입니다. 딕셔너리는 리스트나 튜플처럼 순차적으로 해당 요소값을 구하지 않고 Key를 통해 Value를 얻습니다. 지금까지 딕셔너리의 정의였고 자세한 내용은 아래의 예를 통해 확인해보겠습니다. dictionary의 간단한 예시를 보겠습니다. name, phone, hobby에 해당하는 부분은 Key라고 부르며 :(콜론)뒤에 값을 Value라고 정의합니다. 딕셔너리 추가하기 리스트와 튜플과 다른점으로 딕셔너리를 추가하는 새로운..
-
파이썬 기초 chapter-2 (튜플)파이썬 프로그래밍/파이썬 기초 2020. 8. 22. 16:18
2 튜플 자료형 튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하다.다른 점을 기술하면 1. 리스트는 [ ]을 사용하지만 튜플은 ( )을 사용한다.2. 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다. 위 코드 출력 결과 튜플 인덱싱리스트와 마찬가지로 튜플에 접근법은 리스트와 같다.a[0]는 튜플 첫번쨰 원소로 시작해 a[3] 튜플 4번쨰 원소로 각각의 원소 위치에 접근 가능합니다. 만약 리스트와 관련된 접근 내용이 궁금하시다면 chapter-1을 참고해주세요 만약 튜플의 값을 변경하거나 제거할 시 어떻게 될까요??? 튜플의 요소는 제거할 수 없습니다. 튜플 슬라이싱튜플의 슬라이싱은 리스트 슬라이싱 접근법과 일치합니다. 튜플 곱하기튜플의 곱하기는 튜플의 반복..