Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Bull
- Queue
- Dinosaur
- class
- OCR
- react
- Sequelize
- GIT
- cookie
- 게임
- 자료구조
- 공룡게임
- nodejs
- TypeScript
- typeORM
- Nest.js
- dfs
- Express
- jest
- game
- Python
- JavaScript
- flask
- MongoDB
- MySQL
- 정렬
- nestjs
- AWS
- mongoose
Archives
- Today
- Total
포시코딩
[프로그래머스][Lv.1] 하샤드 수 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12947
내 풀이
def solution(x):
answer = True
sum = 0
x_str = str(x)
for y in x_str:
sum += int(y)
if x % sum == 0:
answer = True
else:
answer = False
return answer
스택처럼 한글자씩 빼면 될까 했는데 그냥 문자열로 바꿔 for문으로 하나씩 읽어 sum 구하고 나눠버렸다.
다른 풀이
def Harshad(n):
return n % sum([int(c) for c in str(n)]) == 0
역시 간단하게 나타내는데에는 리스트 컴프리헨션 만한게 없나보다.
그리고 이 코드를 통해 sum([1, 2, 3, 4]) = 10과 같은 결과를 얻을 수 있는것도 알게 되었다.
결과값으로도 내 코드에서 그냥 return x % sum == 0을 했으면 True or False가 자동으로 떨어졌을텐데
그런 연산을 하나라도 줄이는 부분이 아쉬운 것 같다.
728x90
'자료구조알고리즘 > 문제풀이' 카테고리의 다른 글
[프로그래머스][Lv.1] 행렬의 덧셈 (0) | 2022.12.25 |
---|---|
[프로그래머스][Lv.1] 나누어 떨어지는 숫자 배열 (0) | 2022.12.24 |
[프로그래머스][Lv.1] x만큼 간격이 있는 n개의 숫자 (0) | 2022.12.23 |
[프로그래머스][Lv.1] 없는 숫자 더하기 (0) | 2022.12.23 |
[프로그래머스][Lv.1] 문자열 다루기 기본 (0) | 2022.12.22 |