전체 글 (253) 썸네일형 리스트형 [python/파이썬] 백준 1427 소트인사이드 [문제 출처] https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net [소스 코드] 문자열로 받은 후에 정수 리스트로 변환하여 정렬해주어야 한다. 후에 출력을 할 때에는 end=''를 활용해야 공백 없이 출력이 가능하다. print(arr)로 출력할 경우에는 [4,3,2,1] 형태로 출력이 되고, print(*arr)로 출력할 경우에는 4 3 2 1과 같이 요소 사이에 공백이 출력된다. #1427 arr = input() arr2 = [] for a in arr: arr2.append(int(a)) arr2.sort(reverse = T.. [python/파이썬] 백준 2751 수 정렬하기 2 [문제 출처] https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net [소스 코드] 매우 간단한 문제이지만 입력의 최댓값이 매우 크므로 시간 초과가 나지 않게 신경 써야 한다. 그냥 input()으로 받으면 시간초과가 나오며, 아래의 코드로 고쳐서 제출해도 채점에 매우 오랜 시간이 소요된다. #2751 import sys input = sys.stdin.readline n = int(input()) arr = [] for i in range.. [python/파이썬] 백준 2869 달팽이는 올라가고 싶다 [문제 출처] https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net [문제 풀이] v미터인 나무막대를 달팽이가 며칠 만에 오를 수 있는지 계산하는 문제이다. 달팽이는 낮에 a미터 올라가며, 밤에는 b미터 미끄러진다. 즉 하루에 a-b미터 올라갈 수 있다. 하지만 '정상에 올라간 후에는 미끄러지지 않는다.' 라는 조건이 붙어있기 때문에 a-b미터로 계산을 하면 안 된다. 올라가야 할 높이가 a미터보다 작거나 같을 때 달팽이는 정상에 도달할 수 있다. 따라서 a미터만큼 v에서 빼준 후에 하루 단위로 계산해주었다.. [python/파이썬] 백준 2563 색종이 [문제 출처] https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net [문제 풀이] 겹치게 붙여질 수 있는 검은 색종이가 붙은 영역의 넓이를 구하는 문제이다. 테스트 케이스는 3개의 색종이이지만, 최대 100개까지 붙을 수 있으므로 몇 겹으로 색종이가 겹쳐질지 모른다. 따라서 겹쳐지는 부분의 넓이를 구해서 빼거나 하는 방법으로는 안된다. 2차원 배열을 이용하는 문제로, 흰 도화지의 넓이만큼 2차원 배열을 선언하고, 검은 도화지가 붙은 부분의 값을 1로 저장한다... [python/파이썬] 백준 8958 OX퀴즈 [문제 출처] https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net [소스 코드] OX문자열을 입력을 받고 첫 번째 요소부터 탐색한다. 현재 요소가 O이면 cnt값을 증가시키고 X이면 0으로 변경한 후에 전체 score에 cnt값을 더해준다. #8958 n = int(input()) for i in range(n): result = input() cnt = 0 score = 0 for r in result: if r == 'O':.. [python/파이썬] 백준 3052 나머지 [문제 출처] https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net [소스 코드] 입력을 받고 입력을 42로 나눈 나머지를 키로 하고 값에는 몇 개인지 딕셔너리에 저장한다. 모두 저장 후에 딕셔너리의 길이를 출력한다. #3052 arr = {} for i in range(10): d = int(input())%42 if d not in arr: arr[d] = 1 else: arr[d] += 1 print(len(arr)) [python/파이썬] 백준 2566 최댓값 [문제 출처] https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net [소스 코드] #2566 arr = [] for i in range(9): arr.append(list(map(int, input().split()))) max = 0 index_i = 0 index_j = 0 for i in range(9): for j in range(9): if arr[i][j] > max: max = arr[i][j] index_i = i index_j = j print(max).. [python/파이썬] 백준 2108 통계학 [문제 출처] https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net [문제 풀이] 주어진 n개의 숫자에 대해서 산술평균, 중앙값, 최빈값, 범위를 구하는 문제이다. 산술평균의 경우 문제에서 소수점 이하 첫째 자리에서 반올림한 값을 출력한다고 제시되어있으므로 round()를 사용하였다. 중앙값과 범위는 n개의 숫자들이 저장된 리스트를 오름차순으로 정렬하면 쉽게 구할 수 있다. 최빈값을 구하는 것은 collections모듈의 Counter 클래스를 사용하면 쉽지만 직.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 32 다음