본문 바로가기

백준python19

백준(파이썬, python) - 2581번 소수 (2022.11.07) 1) 문제 2) 풀이 import sys M = int(sys.stdin.readline()) N = int(sys.stdin.readline()) numbers = list(map(int,range(M,N+1))) prime_num = [] for i in numbers: if i > 1 test = 0 for j in range(2,i): if i%j == 0: test += 1 if test == 0: prime_num.append(i) sum = 0 for i in prime_num: sum += i if len(prime_num) ==0: print(-1) else: print(sum) print(min(prime_num)) 3) 문법 및 풀이과정 앞서 풀었던 소수 찾기 풀이를 조금만 응용하면 .. 2022. 11. 7.
백준(파이썬, python) - 1978번 소수 찾기 (2022.11.07) 1) 문제 2) 풀이 import sys T = int(sys.stdin.readline()) numbers = list(map(int,sys.stdin.readline().split())) count = 0 for i in numbers: if i ==2: count+=1 elif i == 1: count +=0 else: test = 0 for j in range(2,i): if i%j == 0: test += 1 if test == 0: count += 1 print(count) 3) 문법 및 풀이과정 소수란, 1과 자기 자신을 제외한 다른 수로 나누어지지 않는 수를 의미한다. 에라토스테네스의 체를 활용할 수도 있지만 이 문제의 경우 입력값의 범위가 100이하로 그렇게 크지 않고, 시간제한도 넉넉하.. 2022. 11. 7.
백준(파이썬, python) - 2839번 설탕 배달(2022.11.07) 1) 문제 2) 풀이 import sys n = int(sys.stdin.readline()) if n%5 == 0: num = n//5 elif (n%5) != 0: if (n%5) == 3: num = (n//5) + (n%5)//3 elif n >5 and (n%5 ==1 or n%5 == 4): num = (n//5) -1 + (n%5+5)//3 elif n >10 and n%5 == 2: num = (n//5) -2 + (n%5 +10)//3 else: num = -1 print(num) 3) 문법 및 풀이과정 주어진 입력값을 3과 5의 합으로 구성하는데, 이 때 구성할 수 있는 숫자의 최소 개수를 구하라는 문제이다. 봉지의 수가 더 적기 위해서는 최대한 5kg의 봉지를 많이 사용하는 것이 좋다.. 2022. 11. 7.
백준(파이썬, python) - 10250번 ACM호텔(2022.11.06) 1) 문제 2) 풀이 (1) import sys N = int(sys.stdin.readline()) for i in range(N): a, b, c = map(int,sys.stdin.readline().split()) if c%a ==0: y = a x = c//a else: y = c%a x = c//a + 1 print('{}{}'.format(y,format(x,'02'))) (2) import sys N = int(sys.stdin.readline()) for i in range(N): a, b, c = map(int,sys.stdin.readline().split()) if c%a ==0: y = a x = c//a else: y = c%a x = c//a + 1 print('{}{}'.fo.. 2022. 11. 7.
백준(파이썬, python) - 2869번 달팽이는 올라가고 싶다(2022.11.05) 1. 2869번 1) 문제 2) 풀이 import sys A, B, V = map(int,sys.stdin.readline().split()) if (V-A)%(A-B) == 0: print((V-A)//(A-B)+1) else: print((V-A)//(A-B)+2) 3) 문법 및 풀이과정 맨 처음에 이 문제를 보고 while문을 활용해서 코드를 짰다. 비교적 작은 수에 있어서는 답이 틀리게 나오진 않았으나, 예제 입력 3을 테스트하자마자 결과값이 바로 안나오고 시간이 걸렸다. 무조건 시간초과가 나올 거라는 생각에 다시 코드를 살펴보니 주어진 입력값이 클수록 시간 복잡도가 커지고 주어진 문제의 시간 조건이 그렇게 많지도 않기 때문에 더 간단한 코드를 찾아야 했다. A -B A -B A -B 가 나열되는.. 2022. 11. 6.
백준(파이썬, python) - 1193번 분수찾기 1. 1193번 1) 문제 2) 풀이 import sys x = int(sys.stdin.readline()) i = 1 n = 1 while x > n: i +=1 n += i k = n-x+1 if x == 1: print("1/1") elif i%2 ==0 : print("{0}/{1}".format((i+1-k),(k))) else: print("{0}/{1}".format((k),(i+1)-(k))) 3) 문법 및 풀이과정 - 문제 이해 이 문제도 벌집처럼 군수열로 이해할 수 있다. 다만 짝수번째 군과 홀수번째 군에 차이가 있어 최종적으로 출력할 때 이를 구분하여 출력해야할 것이다. 1군 : 1/1 2군 : 1/2 , 2/1 3군 : 3/1, 2/2, 1/3 4군 : 1/4, 2/3, 3/2, .. 2022. 11. 5.