반응형 프로그래밍16 코딩테스트 14일차(2025.01.30) - 백준10811번(바구니 뒤집기) 첫째 줄N, MN은 바구니의 개수를 의미하며, 각 바구니에는 1번부터 N번까지 번호가 순서대로 적혀 있다. M은 바꾸어야 하는 순서의 개수다.두번째 줄 i, ji번 바구니부터 j번 바구니까지의 순서를 역순으로 뒤집는다는 뜻 N, M = map(int, input().split())values = list(range(1,N+1))for _ in range(M): i, j = map(int, input().split()) values[i-1:j] = values[i-1:j][::-1] print(*values) 이 코드는 다음과 같은 방법으로 풀었다.1. 바구니 갯수 N과 반복 횟수 M을 각각 입력 받는다.2. 1~N까지의 리스트를 만듦(values)3. i,j를 받는다. 4. 이후 이 값.. 2025. 1. 30. 코딩테스트 14일차(2025.01.30) - 백준3052번(나머지) 내 풀이1~10줄까지 숫자 주어짐.42로 나누었을 때, 나머지가 서로 다른 수인게 몇개인지 찾는 문제results = set()for _ in range(10): a = int(input()) a %= 42 results.add(a)print(len(results))이 문제는 자료형 중에서 중복을 허용하지 않는 set자료형을 사용하여 문제를 풀었다. 만약에 list 자료형을 쓰면 중복을 허용하기 때문에 값들을 리스트에 넣고 중복을 제거하는 번거로움이 있기 때문에 이를 사용하였다.결과: 정답또 다른 풀이arr = []for i in range(10): a = int(input()) if a%42 not in arr: arr.append(a % 42)print(len.. 2025. 1. 30. 코딩테스트 13일차(2025.01.29) - 백준10813번(공 바꾸기) N개의 상자가 있다. 거기에는 1번부터 N번까지 공이 있고 순서대로 숫자가 적혀있다. 도현이는 앞으로 M번 공을 바꾸러고 한다. 바꾸는 방법은 두 상자를 선택하여 공을 서로 교환하면 된다. 첫째 줄 N M두번째 줄 공을 교환하는 상자안에 공 box, count = map(int, input().split())result = [0] * boxfor i in range(box): result[i] = i+1for j in range(count): a, b = map(int, input().split()) result[a - 1] = b result[b - 1] = afor k in range(box): print(result[k], end=" ") 주어진 숫자들에 대해 지정된 위치의 .. 2025. 1. 29. 코딩테스트 12일차(2025.01.28) - 백준10810번(공 넣기) 첫째 줄 N(바구니 개수) M(넣을 공 횟수)나머지 N 줄 i j k (M개의 줄에 걸쳐서 공을 넣는 방법: i번 바구니부터 j 바구니까지 k번 번호가 적혀있는 공을 넣는다는 뜻)ex) 2 5 6은 2번 바구니부터 5번바구니까지 6번 공을 넣는다는 뜻 1번 바구니부터 N번 바구니에 들어있는 공의 번호를 공백으로 구분해 출력. 공이 들어있지 않은 바구니는 0을 출력 bucket, count = map(int, input().split())result = []result = [0] * bucketreal_count = 0while True: try: a, b, c = map(int, input().split()) for i in range(b - a + 1): .. 2025. 1. 28. 코딩테스트 12일차(2025.01.28) - 백준2562번(최댓값) 9개의 서로 다른 자연수가 주어짐 이들 중 최댓값을 구하고 몇 번째 수인지 구하기 result = []for i in range(9): a = int(input()) result.append(a)max_value = max(result)print(max_value)for i, value in enumerate(result): if value == max_value: print(i+1) 일단 받는 것은 9개 최댓값을 구하고 enumerate를 사용하여 인덱스를 찾는 방법으로 이 문제를 풀었다.결과: 정답또 다른 풀이numbers = []for i in range(9): a = int(input()) numbers.append(a)print(max(numbers))print(number.. 2025. 1. 28. 코딩테스트 12일차(2025.01.28) - 백준10818번(최소, 최대) 내 풀이받는 값들을 리스트로 받고 max, min 함수를 사용하여 구현count = int(input())N = list(map(int, input().split()))print(max(N), min(N))결과: 정답또 다른 풀이cnt = int(input())numbers = list(map(int, input().split()))max = numbers[0]min = numbers[0]for i in numbers[1:]: if i > max: max = i elif i 파이썬 내장함수인 min, max 함수를 사용하지 않고 위과 같은 방법으로도 계산이 가능하다. 이 방식은 for함수를 사용하여 만들어놓은 max, min 변수들을 리스트 내 다른 위치에 있는 함수를 순서대로 .. 2025. 1. 28. 이전 1 2 3 다음 반응형