백준(Python) 풀이/수학 213

백준(Python) 1026번 보물 풀이

Python으로 구현한 1026번 보물 문제 풀이입니다. https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) result = 0 for i in range(n) : result += min(a) * max(b) a.pop(a.index(min(a))) b.pop(b.index(max(..

백준(Python) 1010번 다리 놓기 풀이

Python으로 구현한 1010번 다리 놓기 문제 풀이입니다. https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net tc = int(input()) def factorial(x) : count = 1 for i in range(2, x + 1) : count *= i return count for _ in range(tc) : a, b = map(int, input().split()) result = factorial(b) // (factorial(..

백준(Python) 10953번 A+B - 6 풀이

Python으로 구현한 10953번 A+B - 6 문제 풀이입니다. https://www.acmicpc.net/problem/10953 10953번: A+B - 6 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net tc = int(input()) for _ in range(tc) : a, b = map(int, input().split(',')) print(a + b) 입력받은 테스트 케이스의 개수만큼 반복문을 수행하고, 콤마로 구분하여 a와 b에 정수형으로 입력받은 값을 할당한다. 최종적으로 a와 b의 합을 출력한다.

백준(Python) 4948번 베르트랑 공준 풀이

Python으로 구현한 4948번 베르트랑 공준 문제 풀이입니다. https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net from math import sqrt while True : n = int(input()) if n == 0 : break result = 0 for i in range(n+1, 2*n + 1) : if i == 1 : continue elif i == 2 : result += 1 continue else : for j i..

백준(Python) 1934번 최소공배수 풀이

Python으로 구현한 1934번 최소공배수 문제 풀이입니다. https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net tc = int(input()) for _ in range(tc) : a, b = map(int, input().split()) a_value, b_value = a, b while b_value != 0 : a_value = a_value % b_value a_value, b_value = b_value, a_va..

백준(Python) 2475번 검증수 풀이

Python으로 구현한 2475번 검증수 문제 풀이입니다. https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net data = list(map(int, input().split())) result = 0 for i in range(len(data)) : result += (data[i]**2) print(result%10) data 리스트에 입력받은 수들을 저장하고 반복문을 통해 리스트 내에 있는 요소들을 하나씩 확인하여 해당 수의 제곱 수를 res..

백준(Python) 11653번 소인수분해 풀이

Python으로 구현한 11653번 소인수분해 문제 풀이입니다. https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net n = int(input()) count = 2 while n != 1 : if n % count == 0 : print(count) n //= count else : count += 1 소인수분해는 기본적으로 2부터 진행하기 때문에 변수 number에 2를 할당한다. while문을 통해 반복실행하고, 그 내부에서는 조건문을 통해 입력받은 n을 number 값으로 나눈 나머지 값이 0이라면 number 값을 출력한다. 또한, 변수 n에 number로 나..

백준(Python) 4153번 직각삼각형 풀이

Python으로 구현한 4153번 직각삼각형 문제 풀이입니다. https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net while True : a, b, c = map(int, input().split()) if a==0 and b==0 and c==0 : break a *= a b *= b c *= c if a+b == c or a+c == b or b+c == a : print("right") else : print("wrong") 기본적으로 삼각형이 직각인지 판별할..

백준(Python) 2747번 피보나치 수 풀이

Python으로 구현한 2747번 피보나치 수 문제 풀이입니다. https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net data = [0] * 46 def fibo(x) : if x == 0 : return 0 if x == 1 or x == 2 : return 1 if data[x] != 0 : return data[x] data[x] = fibo(x - 1) + fibo(x - 2) return data[x] n =..

백준(Python) 5543번 상근날드 풀이

Python으로 구현한 5543번 상근날드 문제 풀이입니다. https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가 www.acmicpc.net burger_data = [] drink_data = [] for _ in range(3) : burger_data.append(int(input())) for _ in range(2) : drink_data.append(int(input())) burger_data.sort() drink_data.sort() print(burger_data[..