백준(Python) 풀이/수학 213

백준(Python) 13866번 팀 나누기 풀이

Python으로 구현한 13866번 팀 나누기 문제 풀이입니다. https://www.acmicpc.net/problem/13866 13866번: 팀 나누기 입력은 네 개의 정수 A, B, C 및 D가 포함된 한 줄로 구성되며 4명의 스킬 레벨이 주어진다. (0 ≤ A ≤ B ≤ C ≤ D ≤ 104) www.acmicpc.net data = list(map(int, input().split())) data.sort() print(abs((data[3] + data[0]) - (data[2] + data[1]))) 1. 네 개의 정수를 리스트 형태로 입력받는다. 2. 두 팀의 스킬 레벨 차이의 최솟값을 구하기 위해 data 리스트를 오름차순으로 정렬한다. 3. data리스트의 가장 첫번째 요소와 마지막 ..

백준(Python) 14489번 치킨 두 마리 (...) 풀이

Python으로 구현한 14489번 치킨 두 마리 (...) 문제 풀이입니다. https://www.acmicpc.net/problem/14489 14489번: 치킨 두 마리 (...) 첫째 줄에 두 통장의 잔고 A와 B가 주어진다. (0 ≤ A, B ≤ 1,000,000,000) 둘째 줄에 치킨 한 마리의 가격 C가 주어진다. (0 ≤ C ≤ 1,000,000,001) www.acmicpc.net a, b = map(int, input().split()) c = int(input()) * 2 if a + b - c >= 0 : print(a + b - c) else : print(a + b) 1. 욱제가 치킨 두마리(...)를 살 수 있다면 두 마리(...)를 사고 남은 두 통장 잔고의 합을 출력한다...

백준(Python) 2153번 소수 단어 풀이

Python으로 구현한 2153번 소수 단어 문제 풀이입니다. https://www.acmicpc.net/problem/2153 2153번: 소수 단어 소수란 1과 자기 자신으로만 나누어떨어지는 수를 말한다. 예를 들면 1, 2, 3, 5, 17, 101, 10007 등이 소수이다. 이 문제에서는 편의상 1도 소수로 하자. 알파벳 대소문자로 이루어진 영어 단어가 하나 www.acmicpc.net s = input() sum_value = 0 for i in range(len(s)) : if ord(s[i]) >= 97 : sum_value += int(ord(s[i]) - 96) else : sum_value += int(ord(s[i]) - 38) flag = 0 for i in range(2, int..

백준(Python) 5073번 삼각형과 세 변 풀이

Python으로 구현한 5073번 삼각형과 세 변 문제 풀이입니다. https://www.acmicpc.net/problem/5073 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. www.acmicpc.net while True : data = list(map(int, input().split())) if data[0] == 0 and data[1] == 0 and data[2] == 0 : break data.sort(reverse=True) if data[0] >= data[1] + data[2] : print("Invalid") else : if data[0] == data[1] == data[2] : ..

백준(Python) 2312번 수 복원하기 풀이

Python으로 구현한 2312번 수 복원하기 문제 풀이입니다. https://www.acmicpc.net/problem/2312 2312번: 수 복원하기 첫째 줄에 테스트 케이스의 수가 주어진다. 각 테스트 케이스마다 양의 정수 N (2 ≤ N ≤ 100,000)이 주어진다. www.acmicpc.net t = int(input()) for _ in range(t) : n = int(input()) number = 2 data = {} for i in range(n + 1) : data[i] = 0 while n > 1 : if n % number != 0 : number += 1 else : n /= number data[number] += 1 for i in data.items() : if i[1]..

백준(Python) 10409번 서버 풀이

Python으로 구현한 10409번 서버 문제 풀이입니다. https://www.acmicpc.net/problem/10409 10409번: 서버 당신은 FCFS(First-Come, First-Served)의 규칙에 따라 요청된 일을 처리하는 서버를 담당하게 되었다. 매일, 당신은 일을 처리하기 위해 최대 T분 동안 서버에 시간을 할당할 수 있다. 당신은 오늘 주어 www.acmicpc.net n, T = map(int, input().split()) data = list(map(int, input().split())) count = 0 result = 0 for i in data : if count + i

백준(Python) 1350번 진짜 공간 풀이

Python으로 구현한 1350번 진짜 공간 문제 풀이입니다. https://www.acmicpc.net/problem/1350 1350번: 진짜 공간 첫째 줄에 파일의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,000,000보다 작거나 같은 음이 아닌 www.acmicpc.net n = int(input()) data = list(map(int, input().split())) cluster = int(input()) result = 0 for i in data : if i % cluster > 0 : result += i // cluster + 1 else : result += i // clus..

백준(Python) 9550번 아이들은 사탕을 좋아해 풀이

Python으로 구현한 9550번 아이들은 사탕을 좋아해 문제 풀이입니다. https://www.acmicpc.net/problem/9550 9550번: 아이들은 사탕을 좋아해 각 테스트 케이스마다 생일파티에 최대 몇 명의 아이들이 참석할 수 있는지 하나의 정수로 출력한다. www.acmicpc.net t = int(input()) for _ in range(t) : n, k = map(int, input().split()) data = list(map(int, input().split())) result = 0 for i in data : result += i // k print(result) 승택이가 각 종류의 사탕을 몇 개 갖고 있는지 리스트 형태로 입력받고 반복문을 통해 data 리스트에 있는 값..

백준(Python) 16395번 파스칼의 삼각형 풀이

Python으로 구현한 16395번 파스칼의 삼각형 문제 풀이입니다. https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net data = [[1 for _ in range(i)] for i in range(1, 31)] for i in range(2, 30) : for j in range(1, i) : data[i][j] = data[i-1][j-1] + data[i-1][j] n, k = map(int, input().split()) p..

백준(Python) 3062번 수 뒤집기 풀이

Python으로 구현한 3062번 수 뒤집기 문제 풀이입니다. https://www.acmicpc.net/problem/3062 3062번: 수 뒤집기 수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다. 124와 같이 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오. www.acmicpc.net t = int(input()) for _ in range(t) : n = input() rev = n[::-1] sum_value = str(int(n) + int(rev)) if sum_value == sum_value[::-1] : print("YES") else : print("NO") 1. rev에 입력받은 n을 뒤집은 값을 할당한다. 2. sum..