https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 난이도 : 실버4 분류 : 브루트포스 코드 def han(N): cnt = 0 for i in range(1, N+1): lst = [] for j in str(i): lst.append(int(j)) if sum(lst)/len(lst) == (lst[0] + lst[len(lst)-1]) / 2: cnt += 1 else: continue return cnt N = int(input()) prin..
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 난이도 : 실버5 분류 : 수학, 구현, 브루트포스 1 : 문자열을 이용한 풀이 lst = list(range(1, 10001)) wow = [] for i in range(len(lst)): for j in str(i): i += int(j) wow.append(i) wow.sort() for i in lst: if i not in wow: pr..
https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 분류 : 수학, 구현, 조합론 이항 계수 : n개의 서로다른 것들 중에서 k개를 선택하는 조합의 경우의 수 n = 5, k = 2일때를 예로들면 [1, 2, 3, 4, 5] 에서 2개를 뽑는 조합의 수가 몇개인지를 구하는 것이다. (조합 : 순서를 생각하지 않고 뽑는 경우의 수) 여기서는 (1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5) => 총 10개가 되겠다. 1 : combin..
https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 알고리즘 분류 : 수학 코드 import math A, B, V = map(int, (input().split())) print(math.ceil((V-A)/(A-B))+1) 코드 풀이 반복문으로 문제를 접근하면 원하는 값은 출력될 것이나 시간 초과로 오답처리가 된다. 따라서 그냥 공식을 하나 만들어서 바로 출력하는 방법으로 해결해야 했다. 이동한 시간(일 수) = 도달해야 할 거리 / 하루 동안 이동한 거리이다. 낮에 A만큼 올라갔다가 밤에 B만큼 다시..
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 난이도 브론즈1 알고리즘 분류 : 수학, 다이나믹 프로그래밍, 그리디 알고리즘 그리디 알고리즘은 가장 큰 단위부터 거슬러주는 방법이다. 5kg 봉투를 몇개를 써야할지에 대해 초점을 두고 문제를 풀었다. N에 설탕의 무게를 입력받는다. N을 3kg, 5kg 봉투를 이용해 나눌때 봉지수를 최소화 한다면 몇개가 되는지를 출력한다. 1 : 먼저 3kg씩 덜면서 봉투에 담는 방법 N = int(input()) kg_..
https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 알고리즘 분류 : 구현, 문자열 1 : reversed()와 join함수를 이용한 풀이 while True: N = input() if N == '0': break if N == ''.join(reversed(N)): print('yes') else: print('no') reversed()함수 문자열을 반대로 돌린값을 반환한다. join함수 '구분자'.join(리스트) 인자로 넘겨주는 리스트의 요소들을 구분자로..