728x90 수학33 [python] 백준 18310 안테나 https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 문제 해결 최소거리를 구하는 공식이 있을까? 우선 원점(0)에 가까운 순서대로 집 위치를 놓아야 할 것 같다. 안테나 설치 위치를 $x_{i}$라 하자. 그러면 안테나부터 거리의 합은 $\left| x_{1}-x_{i} \right| + . . . \left|x_{i-1}-x_{i}\right| + \left|x_{i+1}-x_{i}\right| + . . . \left|x_{n}-x_{i}\right|$이다. 이 때 .. 2023. 3. 18. [python] 백준 9506 약수들의 합 https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 문제 해결 완전수의 가장 클 수 있는 약수는 n%2==0일 때 n//2 따라서 1부터 n//2+1까지 for문을 통해 나눠 떨어지는 수를 찾는다. 더해서 n이 나오면 완전수이다. 표현은 n,=은 각각 sep=' '로 출력하고 ' + '.join을 통해 더하기를 표현할 수 있다. 아니면 N is NOT perfect. 나오도록 출력 CODE import sys input = sys.stdin.. 2023. 3. 16. [python] 백준 1789 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 해결 주어진 S를 1, 2, 3 ... 작은 자연수부터 차례대로 계속 뺀다. S가 음수가 되기 전까지! S에서 더이상 빼면 음수가 될 때 바로 전에 뺀 수를 출력하면 된다. ex) 200의 수를 1부터 빼면 19까지 빼면 10이 남고 20을 빼면 음수가 되므로 19를 출력하면 된다. 이는 18까지 뺀 다음 29를 빼야 200이 되는데 서로다른 N개의 자연수의 합이 200이 될 때 N의 최댓값이 19라는 것이다. CODE import sys input = sys.stdin.readline s = int(inpu.. 2023. 1. 25. [python] 백준 6603 로또 https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 문제 해결 combination(조합) 라이브러리만 쓸 줄 알 면 쉬운 문제 for문 반복으로 출력하면 된다. CODE from itertools import combinations import sys input = sys.stdin.readline while 1: S = list(map(int, input().split())) if S[0] == 0:break for comb in c.. 2023. 1. 12. 이전 1 ··· 4 5 6 7 8 9 다음 728x90