본문 바로가기
공부/데이터사이언스

[백준] 5단계 - 4673번 (파이썬) check!

by PYo 2022. 6. 23.
반응형

4673번

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

 

 

 

# 풀이1
def d(n):
    num = n
    while n != 0:
        x = 10**(len(str(n))-1)

        num += (n//x) 
        n = n%x
    return num
    
ans = set()
for i in range(10001):
    ans.add(d(i))

for i in range(10001):
    if i not in ans:
        print(i)

 

 

# 풀이2
def selfnum(n):

    l = list(range(1,n+1))
    for i in list(range(1,n+1)):
        j = i
        while j>0:
            a = j//(10**(len(str(j))-1))
            i = i+a
            j = j%(10**(len(str(j))-1))
        try:
            l.remove(i)
        except:
            pass
    return l

for x in selfnum(10000):
    print(x)

 

 

# 풀이3
def selfnum(x):
    temp=[]
    for i in range(x+1):
        a = i
        for j in range(len(str(i))):
            a = a + int(str(i)[j])
        temp.append(a)
    for i in range(x):
        if i not in temp:
            print(i)
            
selfnum(10000)

 

 

 

 

 

 

+ ishs291203님 코드 참고. (이게 더 깔끔한 것 같다..!)

def d(n):
    num=n
    while n!=0:
        num +=n%10
        n//=10
    return num

 

 

 

반응형

댓글