Python 8

📌[알고리즘][python]백준 11660번 구간 합 구하기 5

문제❓ N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다. 예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자. 여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다. 표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 1 초 메모리 제한: 256MB 입출력⌨️ 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져..

[알고리즘][python]백준 11659번 구간 합 구하기 4

문제❓ 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 1 초 메모리 제한: 256 MB 입출력⌨️ 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N 입출력 예시 내 코드🖥️ 방법 1 import sys N, M = map(int, sys.stdin.readline().split()) nums = list(map(in..

[알고리즘][python]백준 1546번 평균

문제❓ 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 2 초 메모리 제한: 128 MB 입출력⌨️ 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. ..

[알고리즘][python]백준 11720번 숫자의 합

문제❓ N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 1 초 메모리 제한: 256 MB 입출력⌨️ 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 입력으로 주어진 숫자 N개의 합을 출력한다. 입출력 예시 내 코드🖥️ ⏰ 40ms import sys N = int(sys.stdin.readline()) nums_list = list(sys.stdin.readline().strip()) sum = 0 for n in nums_list: sum += int(n) print(sum) ⏰ 72ms import sys N = int(sys.stdin.readline()) numbers =..

[알고리즘][python]백준 1978번 소수찾기

문제❓ 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 2 초 메모리 제한: 128 MB 입출력⌨️ 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 주어진 수들 중 소수의 개수를 출력한다. 입출력 예시 # 예제 입력 1 4 1 3 5 7 # 예제 출력 1 3 내 코드🖥️ import sys # 주어지는 숫자의 개수 N = int(sys.stdin.readline()) # 입력되는 숫자 리스트 nums_list = list(map(int, sys.stdin.readline().split())) # 소수의 개수 count = 0 for i in nums_list: # 1인 경..

[알고리즘][python]백준 1193번 분수 찾기

문제❓ 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 0.5초 메모리 제한: 256 MB 입출력⌨️ 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 첫째 줄에 분수를 출력한다. 입출력 예시 # 예제 입력1 1 # 예제 출력1 1/1 # 예제 입력2 6 # 예제 출력2 1/3 내 코드🖥️ import sys X = int(sys.stdin.readline()) b_n = 0 tmp = 1 while True: b_n += tmp ..

[알고리즘][python]백준 2609번 최대공약수와 최소공배수

문제❓ 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 1 초 메모리 제한: 128 MB 입출력⌨️ 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 입출력 예시 # 예제 입력 1 24 18 # 예제 출력 1 6 72 내 코드🖥️ import sys # 유클리드 호제법 def gcd(a, b): if b == 0: return a return gcd(b, a % b) a, b = map(int, sys.stdin.readline().strip().split()) pr..

[알고리즘][python]백준 1037번 약수

문제❓ 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. 제한사항⚠️ 시간 제한: 2 초 메모리 제한: 512 MB 입출력⌨️ 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다. 입출력 예시 # 예제 입력 1 2 4 2 # 예제 출력 1 8 # 예제 입력 2 1 2 # 예제 출력 2 4 # 예제 입력 3 6 3 4 2 12 6 8 # 예제 출..