Python_알고리즘/Silver IV
-
2776. [Python]암기왕Python_알고리즘/Silver IV 2025. 1. 14. 04:09
1. 문제 https://www.acmicpc.net/problem/2776 2. 접근 방법 시간 제한: 2초메모리 제한: 256MB딕셔너리 3. 파이썬 코드 import sys# 많은 인풋처리T = int(sys.stdin.readline())# 테스트 케이스 반복문for i in range(1,T+1): # 딕셔너리 선언 num_dict = {} N = int(sys.stdin.readline()) nums = list(map(int,sys.stdin.readline().split())) M = int(sys.stdin.readline()) nums_check = list(map(int,sys.stdin.readline().split())) # 딕셔너리에 값 저장 ..
-
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_..
-
1015. [Python]수열 정렬Python_알고리즘/Silver IV 2023. 5. 28. 01:05
1. 문제 https://www.acmicpc.net/problem/1015 1015번: 수열 정렬 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 정렬 3. 파이썬 코드 N = int(input()) A = list(map(int,input().split())) # 리스트 길이를 확인해서 정답 리스트 생성 A_length = len(A) # 0으로 이루어진 길이 리스트 생성 P = [0]*A_length # 정렬한 리스..
-
1057. [Python]토너먼트Python_알고리즘/Silver IV 2023. 5. 16. 23:10
1. 문제 https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 512MB 규칙 찾아서 해결 3. 파이썬 코드 N,jimin,hansoo = map(int,input().split()) # 라운드 체크 round = 1 # N을 계속해서 나눠가기때문에 0이아닌경우 까지 while N != 0: # 지민이가 큰지 한수가 큰지 모르기 때문에 이런 조건 설정함 if jimin > hansoo: # 한수가 홀수이고 ..
-
1544. [Python]사이클 단어Python_알고리즘/Silver IV 2023. 5. 15. 22:17
1. 문제 https://www.acmicpc.net/problem/1544 1544번: 사이클 단어 사이클 단어는 어떤 단어를 원형 모양으로 차례대로 쓴 것이다. 따라서, 어떤 단어를 이렇게 쓴 후에 임의의 단어를 고른다. 그 후에 시계방향으로 차례대로 읽으면 그 것이 단어가 된다. 만약에 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 브루트 포스 정렬 3. 파이썬 코드 N = int(input()) # 문자를 저장할 리스트 word_list = [] # 문자열 저장 for _ in range(N): word_list.append(input()) # 최종적으로 사용할 리스트 total_list = [] # 리스트의 문자를 한개씩 반복해가는 반복문 for i in..
-
2090. [Python]조화 평균Python_알고리즘/Silver IV 2023. 5. 14. 22:29
1. 문제 https://www.acmicpc.net/problem/2090 2090번: 조화평균 N개의 수 A[1], …, A[N]의 조화평균은 1/(1/A[1] + 1/A[2] + … + 1/A[N]) 으로 정의된다. 즉, 각각의 수들을 뒤집어서(분모와 분자) 모두 더한 뒤, 그 값을 다시 뒤집는 것이다. 예를 들어 1, 2, 4의 조화평균 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB Math 함수 ( 유클리드 호제법도 가능 ) 3. 파이썬 코드 import math # 리스트의 최소공배수를 구하는 함수 def euclid(nums): lcm = nums[0] check = 1 for i in range(check,len(nums)): lcm = math.l..
-
1758. [Python]알바생 강호Python_알고리즘/Silver IV 2023. 5. 11. 23:16
1. 문제 https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 256MB 정렬 그리디 알고리즘 3. 파이썬 코드 import sys input = sys.stdin.readline # 들어오는 input의 갯수 N = int(input()) # 가격 리스트 생성 pay_list = [] # N만큼 리스트 반복 for _ in range(N): pay_list.append(int(in..
-
1487. [Python]물건 팔기Python_알고리즘/Silver IV 2023. 5. 4. 00:04
1. 문제 https://www.acmicpc.net/problem/1487 1487번: 물건 팔기 첫째 줄에 최대 이익을 만들어주는 가격을 출력한다. 이익이 최대인 가격이 여러개라면, 가장 낮은 가격을 출력한다. 또, 어떤 가격으로 팔아도 이익을 남길 수 없다면 0을 출력한다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 브루트포스 3. 파이썬 코드 N = int(input()) # 가격을 저장할 리스트 price_list = [] # 이득을 저장할 리스트 gain_list = [] # 가격을 리스트 형태로 리스트에 저장 for _ in range(N): num = list(map(int,input().split())) price_list.append(num)..
-
1388. [Python]바닥 장식Python_알고리즘/Silver IV 2023. 5. 3. 23:50
1. 문제 https://www.acmicpc.net/problem/1388 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB DFS 3. 파이썬 코드 N,M = map(int,input().split()) # 방문 헀는지 체크하기 위한 리스트 visited = [[False] * M for _ in range(N)] cnt = 0 dx = 1 dy = 1 # 타일의 종류 tile = [input() for _ in range(N)] # 타일의 가로 세로만큼 ..
-
1246. [Python]온라인 판매Python_알고리즘/Silver IV 2023. 4. 30. 23:17
1. 문제 https://www.acmicpc.net/problem/1246 1246번: 온라인 판매 첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 그리디 알고리즘 3. 파이썬 코드 N,M = map(int,input().split()) # 가격리스트를 생성 price_list = [] for _ in range(M): price_list.append(int(input())) # 가격리스트 오름차순 정렬 price_list.sort() # 각 가격대별 최대값 저장 answe..