파이썬 34

[백준 알고리즘] 11653번 소인수분해 _ 파이썬 python

www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 소인수분해는 결국 2부터 차례대로 돌릴 수밖에 없는데요. 여기서 핵심은 앞에 숫자에서 나눌 수 있을 만큼 나눈 다음에 다음 숫자로 넘어가야 합니다. 그래서 while을 사용하여 나눠질 때까지 계속 나누고 난 뒤 for문을 통해서 다음 숫자로 가는 방법으로 코드를 짰습니다. n = int(input()) if n == 1: print('') # 2부터 하나씩 나눠보기 for i in range(2, n+1): if n % i == 0: #해당 숫자로 나눌 수 없을 때까지 나누기 while n % i == 0: print(i) n =..

[백준 알고리즘] 11399번 ATM_ python 파이썬

https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 최단시간을 구하는 방법은 시간이 적게 걸리는 사람 순으로 줄을 세우면 되는데요. .sort()를 이용하면 작은 순서대로 배열 됩니다. count = input() persons = list(map(int, input().split())) persons.sort() sum = 0 new = 0 for i in persons: new += i sum += new print(sum) 변수를 2개 사용하면 쉽게 해결됩니다. new는 ..

[백준 알고리즘] 은근히 까다로운 1712번 손익분기점 _ 파이썬

[1712번] 손익분기점 손익분기점을 구하는 문제입니다. 입력으로 A, B, C가 주어지는 데요. A는 고정비용 B는 가변비용, C는 판매로 얻는 수익(수입)입니다. 쉬운 듯하면서도 제대로 이해하지 못하면 헤매는 문제입니다. 💻 2가지로 분류해서 처리해야 합니다. 1) 손익 분기점을 달성하지 못하는 상태 : C(이익)이 B(가변비용) 보다 크지 않거나 같을 때 2) 손익 분기점을 달성할 수 있는 상태 C-B>0보다 클 때, C-B를 A(고정비용)으로 나누는 x값의+1 시점이 손익분기점이 됩니다. A, B, C = map(int, input().split()) # 손익분기점에 도달하지 못하는 경우 처리 if B >= C : print(-1) # 손익분기점 구하는 식 else: print(A//(C-B)+1..

[백준 알고리즘] 4673번 셀프 넘버

[4673] 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... ..