본문 바로가기
반응형

분류 전체보기108

백준 구현 알고리즘 - 1966번(파이썬) 문제 풀이 더보기 import sys test_cases = int(sys.stdin.readline()) for i in range(test_cases) : n, m = map(int, sys.stdin.readline().split()) important = list(map(int, sys.stdin.readline().split())) array = [0]*n array[m] = 'target' order = 0 while True : if important[0] == max(important) : order += 1 if array[0] == 'target' : print(order) break; else : array.pop(0) important.pop(0) else : important.ap.. 2022. 5. 11.
백준 구현 알고리즘 - 11866번(파이썬) 문제 풀이 더보기 from collections import deque import sys queue = deque() array = [] n, k = map(int, sys.stdin.readline().split()) for i in range(1, n+1) : queue.append(i) while queue : for i in range(k-1) : queue.append(queue.popleft()) array.append(queue.popleft()) print("") 후기 구현 문제는 풀다보니 라이브러리를 얼마나 능숙하게 사용하는지가 중요한 것 같다. 파이썬 자체도 잘 모르고 부끄럽지만 자료구조에도 능숙하지 않다보니 처음에는 'deque'와 같은 자료 구조없이 처음부터 풀어보려고 했는데 정답.. 2022. 5. 11.
백준 구현 알고리즘 - 11723번(파이썬) 문제 풀이 더보기 import sys n = int(sys.stdin.readline()) s = set() for _ in range(n) : array = sys.stdin.readline().strip().split() if len(array) == 1: if array[0] == "all": s = set([i for i in range(1, 21)]) else: s = set() else: func, x = array[0], array[1] x = int(x) if func == "add": s.add(x) elif func == "remove": s.discard(x) elif func == "check": print(1 if x in s else 0) elif func == "toggle":.. 2022. 5. 11.
AWS란? (EC2/S3/RDS) 오늘은 저도 잘 모르는 AWS를 글을 쓰면서 정리 해보려고 합니다. 사실 이 글은 다른 여타 제 블로그 글과 같이 정보전달을 목적으로 하기 보다는 제가 공부하고 정리하기 위한 기록으로써 글이라고 봐야할 것 같습니다. AWS에 대해서 deep한 내용은 저도 모르기 때문에 후술할 내용은 매우 기본적인 내용들입니다. 오늘 작성할 내용은 다음 두 영상을 보고 정리된 내용입니다. https://www.youtube.com/watch?v=IH7mUwunzlo https://www.youtube.com/watch?v=naMvOo_z2rU (알팍한 코딩사전 짱입니다.. 다들 두 번 보세요) 클라우드 컴퓨팅 우선 AWS가 제공하는 서비스는 클라우드 컴퓨팅입니다. 클라우드 컴퓨팅에 대한 정의를 알아볼까요? AWS와 같은 .. 2022. 4. 26.
백준 알고리즘 - 그리디 알고리즘(1931번/1026번/1541번/2217번/13305번/10610번) 그리디 알고리즘이란? - '현재 상황에서 지금 당장 좋은 것만 고르는 방법' - 탐욕 알고리즘이라고도 불린다. 1931번 : 회의실 배정 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회.. 2022. 4. 25.
모두를 위한 컴퓨터 과학(CS50) - 정렬 알고리즘 지난 글에서 검색 알고리즘을 알아봤습니다. 서랍을 예시로 들면서 서랍 안에 내용물이 정리되어 있다면? 정리되어 있지 않다면?으로 나눠서 문제를 해결해봤습니다. 그렇다면 정렬은 어떤 방식으로 수행될까요? 버블 정렬 버블 정렬은 정렬 알고리즘 중 하나입니다. 버블 정렬의 개념부터 먼저 말하자면 버블 정렬은 두 개의 인접한 자료 값을 비교하면서 인덱스를 변경하는 방식입니다. 다음과 같은 리스트를 예로 들어보겠습니다. a라는 리스트에 담긴 값은 순서대로 4 3 1 5 2 입니다. 이 값을 버블 정렬의 개념을 이용해서 오름차순으로 정렬해볼까요? 일단 첫 두자리를 비교합니다. 4 3 1 5 2 첫 번째 숫자가 두 번째 숫자보다 크기 때문에 두 숫자의 위치를 변경합니다. 3 4 1 5 2 자 이제 다음 두 수를 비교.. 2022. 4. 23.
반응형