Python

[백준 단계별로 풀어보기] python3 함수

maencoli 2021. 12. 29. 00:48

15596번 정수 N개의 합

 

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

4673번 셀프넘버

 

def sumDigit(n):
    ans = 0
    while n > 9:
        ans += n%10
        n = n//10

    return ans + n

def ifSelf(n):
    i = 0
    while i < n:
        if sumDigit(i) + i == n:
            return
        i += 1
    print(i)

i = 1
while i < 10000:
    ifSelf(i)
    i += 1

이렇게 했더니 시간초과가 떴다...ㅠ

수정해야지...

 


1065번 한수

 

count = 0
naturalN = input()

i = 1
while i <= (int(naturalN)):
    if i < 100  :
        count += 1

    else:
        if int((str(i)[0])) - int((str(i)[1])) == int((str(i)[1])) - int((str(i)[2])):
            count += 1
    i += 1

print(count)

만들고보니 함수로 만들지는 않았다...;;;

함수로 만들면 더 빠른가...

 

생각해보니 각 자리수 계산하는 부분 아스키 코드로 해도 될 듯. 

아스키 코드 순서(?) 는 ord()로 구할 수 있음. 

'Python' 카테고리의 다른 글

3.2. Maps  (0) 2022.03.13
3.1. Set  (0) 2022.03.13
Searching problem (linear, binary)  (0) 2022.03.10
[백준 단계별로 풀어보기] python3 문자열  (0) 2022.01.04
[백준 단계별로 풀어보기] python3 1차원 배열  (0) 2021.12.27