백준 알고리즘 5단계 (함수)

김형준·2022년 4월 8일
0
  • 새롭게 배운 내용

1) 15596번 정수 N개의 합

def solve(a: list) -> int:
    sum = 0
    for i in a:
        sum += i
    return sum

2) 4673번 셀프 넘버 출력

# d함수 정의
def d(a : int) -> int:
    str_a = str(a)
    calc = a
    for i in range(len(str_a)):
        calc += int(str_a[i])
    return calc
# 1부터 9999까지 담은 리스트
all_list = list(range(1,10000))
# d함수로 생성될 값들 담아줄 리스트
minus_list = list()
# 담아주기
for li in all_list:
    minus_list.append(d(li))
# 담아준 리스트 중복 원소 제거 (set으로 전환)
minus_set = set(minus_list)

# 리스트 간 차집합 한 줄 구현 코드
# all_list에 있지만 minus_set에 없는 원소들을 담아줌
self_num_list = [x for x in all_list if x not in minus_set]

#출력
for r in self_num_list:
    print(r)

3) 1065번 한수 출력하기

X = int(input())
cnt = 0
for i in range(1,X+1):
    list_i = list(str(i))

    if len(list_i) <= 2:
        cnt += 1
    elif len(list_i) == 3:
        if int(list_i[1]) - int(list_i[0]) == int(list_i[2]) - int(list_i[1]):
            cnt += 1
print(cnt)
profile
BackEnd Developer

0개의 댓글