분류 전체보기

Server/AWS

AWS S3 버킷 만들기

📕 S3란 ? Simple Storage Service의 약자로 말그대로 AWS에서 제공해주는 파일 서버이다. 📗 S3 용어 정리 Buckets Amazon S3에서 생성되는 최상위의 디렉토리이며, Amazon S3에 저장된 객체의 컨테이너다. S3상의 모든 객체(Object)는 버킷에 포함된다. 버킷의 이름은 S3에서 유일해야 합니다 !! Objects S3에 저장된 데이터 하나 하나를 객체라고 합니다. 즉 업로드된 파일을 객체(object)라고 생각하면 된다. 📒 S3 버킷 만들기 그럼 이제 버킷을 만들어 보겠습니다. 1️⃣ S3 버킷 만들기 AWS S3에 접속해 버킷 만들기를 누르기 버킷 이름을 정해주고, 리전도 알맞게 선택한다 여기서 버킷 이름은 S3 상에서 유일해야합니다 ! 리전은 더 빠른 속도..

알고리즘

[BOJ / Python] 1541 잃어버린 괄호

🧩 문제 : 1541번 💪🏻 해결 방법 1️⃣ 그리디 알고리즘 이용 1. 마이너스 기준으로 split 2. 플러스 기준으로 split 후 연산 3. 연산 완료된 수를 모두 마이너스 연산 정답 코드 # 입력 data = input().split('-') # input을 마이너스 기준으로 split num = [] for d in data: plus = d.split("+") # data의 원소를 플러스 기준으로 split sum = 0 # 더하기 연산을 계산할 변수 for i in plus: sum += int(i) num.append(sum) # 연산 완료 후 num에 저장 result = num[0] # 첫번째 수 for i in range(1, len(num)): result -= num[i] # 차..

알고리즘

[BOJ / Python] 1931 회의실 배정

🧩 문제 : 1931번 💪🏻 해결 방법 1️⃣ 그리디 알고리즘 이용 1. 시작 시간, 종료 시간을 기준으로 회의 시간 정렬 2. 회의 종료 시간과 같거나 큰 회의 시작 시간이 있다면 회의 종료 시간 갱신 + 회의 개수 증가 첫번째 코드 - 틀렸습니다 import sys # 입력 n = int(sys.stdin.readline()) # 회의의 수 N for _ in range(n): # 회의 시간 입력 start, end = map(int, input().split()) time.append([start, end]) time = [] # 회의 시간 count = 1 # 회의의 개수 time.sort(key=lambda x: (x[1], x[0])) # 시작시간, 종료시간을 기준으로 회의 시간 정렬 end_..

알고리즘

[BOJ / Python] 5904 Moo 게임

🧩 문제 : 5904번 💪🏻 해결 방법 1️⃣ 재귀로 풀기 1. 입력 받은 N으로 K구하기 2. Moo 수열 S(K) 만들기 3. S(K)의 N번째 글자 출력하기 전체 코드 - 메모리 초과 import sys # 입력 n = int(sys.stdin.readline()) # 출력할 n번째 자리수 result = [] # Moo 수열 S(k) size = 0 # Moo 수열의 크기 k = 0 # Moo 수열에 사용될 변수 # moo 수열 S(k)를 만드는 함수 def moo(x): if x < 0: return "" mid = "m" + ("o" * (x + 2)) result.append(moo(x - 1)) result.append(mid) result.append(moo(x - 1)) # moo 수열..

알고리즘

[BOJ / Python] 10819 차이를 최대로

문제 : 10819번 💪🏻 해결 방법 1️⃣ 순열로 풀기 N의 제한이 8이기 때문에 순열로 풀어도 될 것 같다고 판단하였다. N개의 정수를 오름차순으로 정렬해서 차이를 구하면 최소값을 구할 수 있지만 최대값을 구하려면 전체의 경우의 수를 구해야 한다. 주어진 배열 원소들의 모든 순열을 구한다. 모든 순열의 경우마다 차이의 합을 계산하고, 최댓값을 갱신해준다. 🏂 Python itertools 라이브러리 # 순열 함수 import itertools itertools.permutations(데이터가 들은 배열 리스트, 나열할 원소 갯수) # 조합 함수 import itertools itertools.combinations(데이터가 들은 배열 리스트, 나열할 원소 갯수) 정답 코드 import sys, ite..

알고리즘

2. 완전 탐색

📚 완전 탐색(Brute Force) 이란? : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 -> 컴퓨터의 빠른 계산 속도를 잘 이용하는 방법 : 완전 탐색 자체로는 알고리즘이라고 부르긴 그렇고, 문제 푸는'방법'이라고 이해하면 편할 것 같다. : 이 방식은 절대 답을 못 구하는 경우는 없으므로 나름 강력한 방법! 예를 들어 4자리의 암호로 구성된 자물쇠를 풀려고 시도한다고 생각해보자. 이 자물쇠의 암호를 해결하기 위해 0000 ~ 9999까지 모두 시도해보는 것이다.(최대 10,000번의 시도로 해결 가능) 🧩 완전 탐색 방법 완전 탐색 자체가 알고리즘은 아니기 때문에 완전 탐색 방법을 이용하기 위해서 여러 알고리즘 기법이 이용된다. 주로 이용되는 기법들은 다음과 같다. 기본적으로 완전 탐색은 ..

허지렁이
'분류 전체보기' 카테고리의 글 목록 (16 Page)