반응형 코드최적화10 코딩테스트 15일차(2025.01.31) - 백준27866번(문자와 문자열) 내 풀이S의 i번째 글자 출력첫째줄 문자열둘째줄 숫자S = input()i = int(input())print(S[i - 1]) 문자열을 입력받고 숫자를 입력받은 후, [] 인덱싱을 활용하여 문제를 간단하게 해결했다. 문자열도 리스트처럼 인덱스를 이용해 접근할 수 있기 때문에, []를 사용하여 특정 위치의 값을 쉽게 얻을 수 있다. 이 방식은 문제를 더 효율적으로 풀 수 있게 해주었다.결과: 정답또 다른 풀이arr = list(input())i = int(input())print(arr[i-1]) [백준] 27866번 문자와 문자열 / Python백준 알고리즘 문자열: 27866번 문자와 문자열 | 문자열을 한 글자씩 끊어서 리스트에 넣기velog.io이 방법은 문자열을 리스트 형태로 변환한 후, 인덱싱.. 2025. 1. 31. 코딩테스트 14일차(2025.01.30) - 백준1546번(평균) 첫째줄 시험본 과목 개수 N둘째줄 성적 이줄 최댓값 M 모든 점수를 점수/M*100으로 고친다. 이를 토대로 성적을 출력하는 프로그램 작성count = int(input())scores = list(map(float, input().split()))scores.sort()for i in range(count): scores[i] = scores[i] / scores[-1] * 100print(sum(scores)/count) 결과: 정답또 다른 풀이subject = int(input())scores = list(map(int, input().split()))M = max(scores)for i in range(subject): scores[i] = scores[i]/M*100print(sum(.. 2025. 1. 30. 코딩테스트 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) - 백준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 다음 반응형