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
- TypeScript
- OCR
- 공룡게임
- Queue
- dfs
- flask
- MongoDB
- Bull
- MySQL
- typeORM
- mongoose
- class
- react
- 자료구조
- jest
- AWS
- Sequelize
- 게임
- Nest.js
- GIT
- JavaScript
- Python
- Express
- 정렬
- nestjs
- nodejs
- Dinosaur
- game
- cookie
Archives
- Today
- Total
포시코딩
[프로그래머스][Lv.1] 하샤드 수 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12947
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
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 |