Python_알고리즘
-
1021. [Python]회전하는 큐Python_알고리즘/Silver III 2023. 8. 2. 15:18
1. 문제 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB Deque(덱) 3. 파이썬 코드 # deque 선언 from collections import deque N, M = map(int,input().split()) # 찾고자 하는 숫자 리스트 answer_list = list(map(int,input().split())) # 초기 인덱스값 index = 0 # deque 선..
-
3077. [Python]임진왜란Python_알고리즘/Silver III 2023. 7. 26. 20:22
1. 문제 https://www.acmicpc.net/problem/3077 3077번: 임진왜란 첫째 줄에 해전의 개수 N이 주어진다. (2 ≤ N ≤ 2500) 다음 줄에는 올바른 정답이 공백으로 구분되어 주어진다. 그 다음 줄에는 현우가 작성한 답안이 공백으로 구분되어 주어진다. 해전의 이름은 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 딕셔너리 브루트 포스 3. 파이썬 코드 N = int(input()) # 정답 리스트 생성 answer_list = list(map(str,input().split())) # 제출 리스트 생성 check_list = list(map(str,input().split())) # 정답 갯수 체크 cnt = 0 # 시간 절약을 위..
-
3273. [Python]두 수의 합Python_알고리즘/Silver III 2023. 7. 25. 16:16
1. 문제 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 투 포인터 정렬 3. 파이썬 코드 # N, num_list, x 값을 받는 부분 N = int(input()) num_list = list(map(int,input().split())) x = int(input()) # num_list 를 탐색하기 위해서 오름차순 정렬 nu..
-
3060. [Python]욕심쟁이 돼지Python_알고리즘/Silver V 2023. 7. 24. 18:41
1. 문제 https://www.acmicpc.net/problem/3060 3060번: 욕심쟁이 돼지 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 두 줄로 구성되어 있고, 첫째 줄에는 하루에 배달되는 사 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 구현 수학 3. 파이썬 코드 T = int(input()) for i in range(T): # 하루 식사 제한 day_meal = int(input()) # 돼지들의 총 식사 pig_meal = list(map(int,input().split())) # 일수 cnt = 1 # 만약 초기 값이 하루 식사치를 넘었을 경우 if s..
-
2512. [Python]예산Python_알고리즘/Silver III 2023. 7. 18. 21:20
1. 문제 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 이분 탐색 3. 파이썬 코드 import sys N = int(input()) # 돈 리스트 받아오기 money_list = list(map(int,input().split())) # 돈의 총합 total_money = sum(money_list) # 제일 많은 돈 max_money = max(money_list) # 제한..
-
2503. [Python]숫자 야구Python_알고리즘/Silver III 2023. 7. 13. 19:15
1. 문제 https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 구현, 순열, 브루트 포스 3. 파이썬 코드 from itertools import permutations N = int(input()) # 들어온 숫자 값들을 저장할 리스트 num_list = [] # 숫자값과 스트라이크 볼을 저장할 리스트 base_list = [] # 없는 숫자를 체크할 리스트 no_list = [] # 1..
-
2164. [Python] 카드2Python_알고리즘/Silver IV 2023. 7. 13. 19:09
1. 문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 큐 3. 파이썬 코드 from collections import deque N = int(input()) # 카드 리스트를 deque로 선언 card_list = deque() # 1~N 까지 카드 리스트 생성 for i in range(1,N+1): card_list.append(i) # card의 길이 변수로 생성 card_..
-
2828. [Python]사과 담기 게임Python_알고리즘/Silver V 2023. 7. 13. 18:49
1. 문제 https://www.acmicpc.net/problem/2828 2828번: 사과 담기 게임 상근이는 오락실에서 바구니를 옮기는 오래된 게임을 한다. 스크린은 N칸으로 나누어져 있다. 스크린의 아래쪽에는 M칸을 차지하는 바구니가 있다. (M pos and base_value = base_value: # 갯수 파악하는 변수에 현재 바구니 왼쪽끝의 위치에서 현재 사과위치 -1을 더해줌 # 앞선 조건에서 pos > 으로 설정했기 때문에 -1을 해줌 cnt += (pos-(base_value-1)) # 이 또한 위 주식과 마찬가지 pos = base_value-1 # 0보다 작아졌을 경우 0으로 초기화 if pos < 0: pos = 0 index += 1 print(cnt) 4. 문제를 풀고난 후..
-
2597. [Python]줄자접기Python_알고리즘/Silver III 2023. 6. 17. 22:54
1. 문제 https://www.acmicpc.net/problem/2597 2597번: 줄자접기 첫째 줄에 줄자의 길이가 입력된다. 줄자의 길이는 10㎝ 이상, 1,000㎝ 이하이고 단위를 나타내는 ㎝은 입력되지 않는다. 둘째 줄에는 두 빨간 점의 위치를 나타내는 정수가 빈칸을 사이에 두고 입 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 구현 3. 파이썬 코드 N = int(input()) left = 0 right = N # 점을 순서별로 리스트로 오름차순 정렬하여 받음 red_point = sorted(list(map(int,input().split()))) blue_point = sorted(list(map(int,input().split()))) yel..