문제 출처: www.acmicpc.net/problem/2548 2548번: 대표 자연수 첫째 줄에는 자연수의 개수 N이 입력된다. N은 1 이상 20,000 이하이다. 둘째 줄에는 N개의 자연수가 빈칸을 사이에 두고 입력되며, 이 수들은 모두 1 이상 10,000 이하이다. www.acmicpc.net 1. 문제 접근 방식 - 숫자를 입력 받은 후 오름차순으로 정렬해보았다. 그렇게 정렬해두고 생각해본 결과 중간에 있는 값이 대표 자연수가 되는 것을 알았다. 이때 리스트의 길이가 짝수일 경우랑 홀수일 경우는 나누어 계산해야한다. 2. 내가 푼 코드 import sys N = int(sys.stdin.readline()) num = sorted(list(map(int, sys.stdin.readline()..
문제 출처: www.acmicpc.net/problem/1500 1500번: 최대 곱 세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러개일 경우 그 곱을 가능한 최대로 하려고 한다. 가능한 최대의 곱을 출력한다. 만약 S=10, K=3이면, 3,3,4는 www.acmicpc.net 1. 문제 접근 방식 - 주어진 수를 나누고 나머지 숫자를 어떻게 배분하느냐가 관건이였다. 간단한 수로 몇번 실험을 한 결과 1을 가장 고르게 분배했을 경우 값이 가장 크게 나오는 것을 알고 그대로 적용해 보았다. 2. 내가 푼 코드 import sys S, K = map(int, sys.stdin.readline().split()) # 몫 q = S // K # 나머지 r = S..
문제 출처: www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1. 문제 접근 방식 - 동전을 리스트 형태로 받아 가장 큰 수부터 차근차근 나눠 가는 방법을 생각하였다. 2. 내가 푼 코드 import sys N, K = map(int, sys.stdin.readline().split()) coin = [] cnt = 0 for i in range(N): coin.append(int(sys.std..
현재 대부분의 스마트폰은 리튬이온전지를 사용하고 있다. 무게와 배터리 용량에 많은 관심을 기울이다 보니 어쩔 수 없는 선택일지도 모른다. 하지만 일반적으로 리튬이온배터리의 경우 충전 횟수의 한도가 지나면 배터리 성능이 급격히 줄어든다. 여기서 충전 사이클에 대해 한번 이해 해볼 필요가 있다. 충전 사이클이란? 충전 사이클의 개념은 '100% 충전을 얼마나 했는가'로 이해하면 편할 것이다. 남은 퍼센트가 몇 퍼센트인지 상관없이 100%를 한번 채우고 나면 사이클 횟수가 1 증가하게 된다. 배터리는 사이클 횟수가 굉장히 중요하다. 우리가 처음 산 핸드폰을 켰을 때 배터리가 100%가 아닌 절반 즈음만 채워져 있는 이유이기도 하다. 이뿐 아니라 배터리는 완전 방전, 완전 충전에도 영향을 많이 받는다. 완전 방..