[프로그래머스] 하샤드 수
2024. 6. 3. 08:58ㆍ개인활동/코테
반응형
하. 이 문제 좀 짜증났다. 입출력 예에 return 값이 소문자로 되어있어서 당연히 문자열로 return하였는데,
def solution(x):
if len(str(x)) == 1: return "true"
x_sum = sum(list(map(int, str(x))))
if x % x_sum: return "false"
else: return "true"
계속 위와 같이 실행한 결괏값 "false"이 기댓값 false과 다릅니다. 실행한 결괏값 "true"이 기댓값 true과 다릅니다.
이런식으로 결과가 출력되었다. 너어어어무 짜증나서 다른사람들 return값을 찾아보니 걍 아래와 같이 return하더라...
def solution(x):
if len(str(x)) == 1: return True
x_sum = sum(list(map(int, str(x))))
if x % x_sum: return False
else: return True
......그렇게 다 통과가 되었다.
def solution(x):
if len(str(x)) == 1: return True
x_sum = sum(list(map(int, str(x))))
if x % x_sum: return False
else: return True
내가 짠 코드에 대해 설명하자면, 먼저 x의 길이가 1인 경우 즉 한자리수인 경우이다. 이런 경우는 무조건 true를 반환하도록 하였고, 각 자릿수의 합을 리스트를 이용해 구하여 나머지가 0이 아니면 false를 반환하도록 하였다.
그리고 다른 사람의 코드를 보던 중 또 간과한 사실이 있었다.
def Harshad(n):
return n%sum(int(x) for x in str(n)) == 0
굳이 리스트로 sum을 하지 않아도 된다는 것...
그리고 굳이 조건문을 사용하지 않아도 된다는 것
역시 다른사람들의 코드를 볼 때마다 많은 것을 배워가는 것 같다.
반응형
'개인활동 > 코테' 카테고리의 다른 글
백준 28279번 : 덱2 (0) | 2024.06.05 |
---|---|
백준 11866번 : 요세푸스 문제 0 (0) | 2024.06.04 |
[프로그래머스] 평균 구하기 (0) | 2024.06.01 |
[프로그래머스] 짝수와 홀수 (1) | 2024.06.01 |
백준 2164번 : 카드2 (0) | 2024.05.31 |