반응형
목차
정수 N개의 합(#15596)
- Hint
파이썬에서의 함수 선언은
def 함수명(함수 인자):
코드
return 리턴값
으로 표현가능하다
- Solution
def solve(a):
ans = sum(a)
return ans
셀프 넘버(#4673)
- Hint
주어진 숫자의 각 자리수를 더하는 것을 구현하는데에 map() 을 사용해보자
- Solution
map() 을 이용한 풀이
main=[]
result=[]
for i in range(10000):
i =int(i+1)
result.append(i+(sum(map(int,str(i)))))
main.append(i)
print(*[x for x in main if x not in result])
반복문을 하나 더 이용한 풀이
main=[]
flt = []
sum = 0
for i in range(10000):
num= int(i+1)
for i in str(num):
sum += int(i)
main.append(num)
flt.append(sum+num)
sum = 0
result = [x for x in main if x not in flt]
print(*result, sep='\n')
한수(#1065)
- Hint
등차 수열이라 함은 각 자리수끼리의 비교는 피할 수 없다. 위의 문제에서의 조건은 1000이하의 자연수 였기 때문에 자리수를 굳이 변수로 받아오지 않아도 쉽게 해결 가능하다.
100 미만의 자연수는 전부 등차수열임을 이용하여 문제를 풀어보자
- Solution
count=0
for i in range(int(input())):
i =int(i+1)
if i <100:
count+=1
else:
a=list(map(int,str(i)))
if (a[0]-a[1]==a[1]-a[2]):
count+=1
print(count)
3자리수의 등차수열 구별은 수학적인 규칙을 이용할 수도 있지만
i//100*21+i==i//10*12 을 만족할 시.
각 자리수의 차가 같으면 count 변수에 1을 더하도록 하였다.
'Baekjoon > Stepbystep' 카테고리의 다른 글
[백준/python] 기본 수학 1 전체 풀이(7단계) (0) | 2022.08.01 |
---|---|
[백준/python] 문자열 전체 풀이(6단계) (0) | 2022.07.31 |
[백준/python] 1차원 배열 전체 풀이(4단계) (0) | 2022.07.29 |
[백준/python] 반복문 전체 풀이(3단계) (0) | 2022.07.29 |
[백준/python] 조건문 전체 풀이(2단계) (0) | 2022.07.29 |