728x90
반응형

python3 32

단계별로 풀어보기 10 - 기하 : 직사각형과 삼각형(2)

문제번호 3009번 네 번째 점 세 점의 좌표가 한 줄에 하나씩 입력된다. 직사각형의 네 번째 점의 좌표를 출력해야 한다. 답안 : 1 import sys 2 A = list(map(int,sys.stdin.readline().split())) 3 B = list(map(int,sys.stdin.readline().split())) 4 C = list(map(int,sys.stdin.readline().split())) 5 if A[0] != B[0] : 6 if A[0] != C[0] : 7 D_x = A[0] 8 else: 9 D_x = B[0] 10 else: 11 D_x = C[0] 12 if A[1] != B[1] : 13 if A[1] != C[1] : 14 D_y = A[1] 15 else:..

단계별로 풀어보기 10 - 기하 : 직사각형과 삼각형

문제번호 27323번 직사각형 첫째 줄에 세로 A, 둘째 줄에 가로 B가 입력된다. 직사각형의 넓이를 출력해야 한다. 답안 : 1 A = int(input()) 2 B = int(input()) 3 print(A*B) comment : # 입력을 받고 넓이를 출력해주면 된다. ---------------------------------------------------------- 문제번호 1085번 직사각형에서 탈출 첫째 줄에 x y w h가 입력된다. 직사각형의 경계선까지 가는 거리의 최솟값을 출력해야 한다. 답안 : 1 import sys 2 x,y,w,h = list(map(int,sys.stdin.readline().split())) 3 half_x, half_y = w/2, h/2 4 dista..

단계별로 풀어보기 9 - 약수, 배수와 소수(4)

문제번호 11653번 소인수분해 첫째 줄에 정수 N이 입력된다. N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력해야 한다. N이 1인 경우 아무것도 출력하지 않는다. 답안 : 1 N = int(input()) 2 while N != 1 : 3 for a in range(1, N+1) : # N의 약수찾기 4 divisor = [] 5 if N % a == 0 : 6 divisor.append(a) 7 for b in divisor : # N의 약수중 소수 찾기 8 prime = [] 9 for c in range(2,b+1) : 10 if b % c == 0 : 11 prime.append(c) 12 factor = 0 13 for d in prime : 14 if N % d == 0 : 15 ..

단계별로 풀어보기 9 - 약수, 배수와 소수(2)

문제번호 9506번 약수들의 합 테스트 케이스마다 한 줄 간격으로 n이 입력된다. 마지막 입력은 -1이다. 테스트케이스마다 한 줄에 하나씩 출력해야한다. n이 완전수라면, n을 n이 아닌 약수들의 합으로 나타내어 출력해야 한다. 이때 약수들은 오름차순으로 나열해야 한다. n이 완전수가 아니라면 n is NOT perfect. 를 출력해야 한다. 답안 : 1 while True: 2 divisor = [] 3 n = int(input()) 4 if n != -1 : 5 for N in range(1,n) : 6 if n % N == 0 : 7 divisor.append(N) 8 if sum(divisor) == n : 9 print(n,' = ', sep='',end='') 10 for a in divis..

단계별로 풀어보기 9 - 약수, 배수와 소수(1)

문제번호 5086번 배수와 약수 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 두 개의 다른 자연수로 이루어져 있다. 마지막 두 줄에는 0이 2개 입력된다. 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력해야 한다. 답안 : 1 import sys 2 while True : 3 A, B = map(int, sys.stdin.readline().split()) 4 if A == 0 and B == 0 : 5 break 6 elif A % B == 0 : 7 print('multiple') 8 elif B % A == 0 : 9 print('factor') 10 else: 11 print('ne..

단계별로 풀어보기 8 - 일반 수학 1(5)

문제번호 2869번 달팽이는 올라가고 싶다 첫째 줄에 A B V가 공백으로 구분되어 입력된다. 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력해야 한다. 답안 : 1 A, B, V = map(int, input().split()) 2 day = 0 3 if (V - A) % (A - B) == 0: 4 day = (V - A) // (A - B) + 1 5 else: 6 day = (V - A) // (A - B) + 2 7 print(day) comment : # (V - A)m를 (A-B)m으로 나눈 나머지를 기준으로 세워 만약 딱 떨어지게 된다면 Am 한번이면 목표지점에 도달하기 때문에 day에 하루만 더해주면 되고, 만약 떨어지지 않으면 목표점에 나머지m만큼 부족하게 되므로 ..

단계별로 풀어보기 8 - 일반 수학 1(4)

문제번호 2292번 벌집 첫째 줄에 N이 입력된다. 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력해야 한다. 답안 : 1 room = 1 2 mn = 2 3 num = 0 4 N = int(input()) 5 if N != 1 : 6 while mn (1/2 > 2/1) > (3/1 > 2/2 > 1/3) > (1/4 > 2/3 > 3/2 > 4/1) > (5/1 > 4/2 > 3/3 > 2/4 > 1/5)... # 묶음의 개수와 합의 개수는 항상 하나 차이가 나는 것을 이용하여 풀면 될 것 같다고 생각한다.

단계별로 풀어보기 8 - 일반 수학 1(3)

문제번호 2720번 세탁소 사장 동혁 첫째 줄에 테스트 케이스의 개수 T가 입력된다. 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. 각 테스트 케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력해야 한다. 답안 : 1 T = int(input()) 2 qua, dime, nic, pen = 0,0,0,0 3 remain_cent = 0 4 for _ in range(T) : 5 cent = int(input()) 6 qua, remain_cent = cent // 25, cent % 25 7 dime, remain_cent = remain_cent // 10, remain_cent % 10 8 nic, remain_cent = r..

단계별로 풀어보기 8 - 일반 수학 1(2)

문제번호 11005번 진법 변환 2 첫째 줄에 N B가 주어진다. 첫째 줄에 10진법 수 N을 B진법으로 출력해야 한다. 답안 : 1 N, B = map(int,input().split()) 2 quo, remain = N, 0 3 Bjin = [] 4 while quo >= B : 5 quo, remain = quo // B, quo % B 6 Bjin.append(remain) 7 Bjin.append(quo) 8 for a in range(len(Bjin)) : 9 if 35 >= Bjin[a] >= 10 : 10 Bjin[a] = chr(Bjin[a]+55) 11 Bjin = Bjin[::-1] 12 for x in Bjin : 13 print(x, end='') 14 print() comment..

728x90
반응형