[15596]
def sumN(a):
return sum(a)
-----------------------------
def sumN(a):
total = 0
for i in a:
total += i
return total
[4673]
import sys
natural_n = set(range(1,10001)) #natural_n 변수에 set자료형(중복 방지)으로 1~10000까지 저장
generate_n = set() #generate_n 생성자 저장할 set 선언
for i in range(1,10001): #i = 343
for j in str(i): #j = '3','4','3'
i += int(j) # i = 343 + 3 + 4 + 3 = 353, 353은 생성자 있는 수
generate_n.add(i) #고로 generate_n에 추가 저장
self_num = sorted(natural_n - generate_n) #셀프넘버 = 1~10000까지 자연수 - 생성자, 셀프넘버 = 생성자X
for i in self_num:
print(i)
#sorted 안쓰면 순서대로 나오지않음
[1065]
문제 자체를 이해하기가 좀 어려웠는데 여기서 말하는 한수는 예를 들어 246를 두면 각 자리수 2, 4, 6이 등차수열을 이루는 수를 말한다.
예외 사항을 생각해보면.. 1~99까진 모두 한수이다.
1~9까진 자리수가 자기 혼자니깐
뭐 15를 예를 들면 1, 5밖에 없으니 등차가 4인 수열인 것이다.
import sys
input = sys.stdin.readline
n = int(input())
count = 0 #한수 카운트
for i in range(1,n+1):
if i < 100: #1~99까지 모두 한수
count += 1
else:
nums = list(map(int, str(i))) #i = 246 -> str(i) = '2','4','6' -> int, nums = [2,4,6]
if nums[1] - nums[0] == nums[2] - nums[1]: #등차비교
count += 1
print(count)
어렵다. 난 한참 멀었다. 우울하다.
'Algorithm' 카테고리의 다른 글
[Baekjoon] 11720: 숫자의 합 (0) | 2021.06.01 |
---|---|
[Baekjoon] 11654: 아스키 코드 (0) | 2021.06.01 |
[Baekjoon] - 1차원 배열 (0) | 2021.06.01 |
Baekjoon - while (0) | 2021.05.30 |
Baekjoon - for (0) | 2021.05.30 |
댓글