전체 글165 [백준/Python] 2751번 수 정렬하기 2 문제 ■ 2751번 수 정렬하기 2 문제 ■ 코드 풀이 readline()은 input()과 유사한 기능을 하지만 속도 측면에서 빠르다는 장점이 있습니다. 저는 보통은 익숙한 input()을 활용하지만, 문제를 읽었을 때 반복 횟수에 비해 주어진 시간이 짧은 경우에는 readline()을 활용합니다. 시간 초과가 나올 수 있으니까요. 이번 문제에서는 최대 백만 번까지 입력받을 수 있다고 주어졌으므로, 고민하지 않고 readline()을 활용했습니다. import sys N = int(sys.stdin.readline()) num_list = [] for i in range(N): num = int(sys.stdin.readline()) num_list.append(num) num_list.sort() for .. 2023. 5. 11. [백준/Python] 25305번 커트라인 문제 ■ 25305번 커트라인 문제 ■ 코드 풀이 커트라인을 구하라는 말은 결국 입력받은 점수를 내림차순으로 정렬하고 k-1번째 값을 출력하라는 의미입니다. 리스트의 sort 메서드에서 reverse 옵션을 'True'로 주면 쉽게 풀 수 있습니다. N, k = map(int,input().split()) scores = list(map(int, input().split())) scores.sort(reverse=True) print(scores[k-1]) 2023. 5. 10. [백준/Python] 2587번 대표값2 문제 ■ 2587번 대표값2 문제 ■ 코드 풀이 크게 어렵지 않은 문제입니다. 5개의 숫자라고 문제에서 제시했으므로, 차례대로 list에 저장한 다음 평균과 중앙값을 구해줍니다. num_list = [] for i in range(5): num = int(input()) num_list.append(num) num_list.sort() print(int(sum(num_list)/5)) print(num_list[2]) 2023. 5. 9. [백준/Python] 2750번 수 정렬하기 문제 ■ 2750번 수 정렬하기 문제 ■ 코드 풀이 파이썬에서 제공하는 다양한 기능이 있는 덕분에 이러한 기능을 알고 계신다면 이번 문제는 쉽게 풀 수 있는 문제입니다. N개의 정수를 list에 입력받고, 이를 sort 메서드로 오름차순 정렬한 다음 그대로 출력해 주면 됩니다. 참고로 sort에는 reverse라는 인자를 옵션으로 줄 수 있습니다. 'reverse = True'로 설정하면 내림차순 정렬이 됩니다. N = int(input()) num_list = [] for i in range(N): num = int(input()) num_list.append(num) num_list.sort() for i in num_list: print(i) 2023. 5. 8. [백준/Python] 2839번 설탕 배달 문제 ■ 2839번 설탕 배달 문제 ■ 코드 풀이 우선 문제 풀이의 핵심은 가장 큰 봉지에 설탕을 먼저 담는 것입니다. 그래야 옮기는 봉투의 수를 최소화할 수 있으니까요. 만약 설탕의 무게가 5의 배수라면 5로 나눈 몫이 그대로 정답이 됩니다. 5의 배수가 아니라면, 3을 우선 빼주고 5의 배수인지를 계속 확인하면 됩니다. N = int(input()) cnt = 0 if (N == 3) and (N == 5): print(1) elif N == 4: print(-1) else: while N >= 0: if N%5 == 0: cnt += N//5 print(cnt) break N -= 3 cnt += 1 if N < 0: print(-1) 2023. 5. 7. [백준/Python] 1436번 영화감독 숌 문제 ■ 1436번 영화감독 숌 문제 ■ 코드 풀이 이번 문제도 역시나 어려웠습니다. 우선 정답 코드입니다. 이 코드는 다른 사람이 푼 코드를 참고했습니다. 먼저 666부터 시작합니다. 그리고 666에서부터 1씩 숫자를 증가시키면서 '666'이 포함되어 있다면 입력받은 N에서 1씩 빼줍니다. 최종적으로 N이 0이 되었을 때 start num에는 N번째 영화 제목이 기록되어 있게 됩니다. N = int(input()) start_num = 666 while N != 0: if '666' in str(start_num): N = N-1 if N == 0: break start_num = start_num + 1 print(start_num) 아래는 제가 풀었던 코드입니다. 굉장히 복잡하게 풀었는데요. 저는 1씩 .. 2023. 5. 6. 이전 1 ··· 11 12 13 14 15 16 17 ··· 28 다음