TIL/알고리즘

[알고리즘] Python | 백준 | 단계별로 풀어보기 함수

yeoney 2023. 2. 15. 13:20
반응형

https://www.acmicpc.net/step/5

 

함수 단계

함수를 구현해 봅시다. (이 문제는 C, C++, Python, Java, Go만 지원합니다. 그 외의 언어를 사용하신다면 이 문제를 무시해 주세요.)

www.acmicpc.net


https://www.acmicpc.net/problem/15596

 

15596번: 정수 N개의 합

C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang)

www.acmicpc.net

15596번 : 정수 N개의 합

def solve(a):
	sum = 0
    for i in a:
    	sum += i
    return sum
    
 def solve(a):
 	return sum(a)

두갠데 위에 건 컴파일 에러뜸 ㅋ

 

4673번 : 셀프 넘버

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

def d(n):
	n = n +sum(map(int,str(n)))	//n + 각자리수의 합
    return n

nonSelfNum = set()

for i in range(1,10001):
	nonSelfNum.add(d(i))
    
for j in range(1,10001):
	if j not in nonSelfNum:
    	print(j)

 

 

1065번: 한수

https://www.acmicpc.net/problem/1065

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net

def hansu(num):
	hansu_cnt=0
    for i in range(1,num+1):
    	num_list = list(map(int,str(i)))
        if i < 100:
        	hansu_cnt+=1
        elif num_list[0]-num_list[1] == num_list[1]-num_list[2]:
        	hansu_cnt+=1
    return hansu_cnt
num=int(input())
print(hansu(num))
반응형