아요 개발 일기
[프로그래머스] Level 1. 히샤드 수 본문
반응형
안녕하세요~~~
오늘은 히샤드 수 문제를 풀어보았습니다! 날씨가 어제보단 좋네용 ㅎ히
문제
제가 푼 풀이
자릿수마다 더하기 위해서 일단 x 값을 String으로 저장해주었어요!
그 후에 for in 문으로 한 자리씩 result에 더해주고, 삼항 연산자를 사용해서 나머지가 0일 경우 (히샤드 수 일경우)에는 true
아닐 경우에는 false를 출력하도록 했습니다.
좋다고 생각한 풀이
func solution(_ x:Int) -> Bool {
return x % String(x).reduce(0, {$0+Int(String($1))!}) == 0
}
동일하게 x 값을 String으로 변환하여 값을 더해주는 역할을 하는 고차함수 reduce를 사용하여 String의 첫번째 값과 다음 값을 더해줍니다. 그 후 나머지 값이 0 인지 판별해줍니다.
정확성 비교
제가 쓴 코드
좋다고 생각한 코드
확실히 좋다고 생각한 풀이가 빠르고 가볍네요?
저는 For-in문도 쓰고 삼항 연산자도 써서 그런가봐요ㅜㅠㅠ
더 나은 코드를 쓸 수 있도록 화잉팅..!
반응형
'Algorithms > 문제 풀이' 카테고리의 다른 글
[프로그래머스] Level 1. 정수 제곱근 판별 (0) | 2023.01.17 |
---|---|
[프로그래머스] Levle.1 콜라츠 추측 (0) | 2023.01.17 |
[프로그래머스] Level 1. x만큼 간격이 있는 n개의 숫자 (0) | 2023.01.17 |
[프로그래머스] Level 1. 최대공약수와 최소공배수 (0) | 2023.01.17 |
[프로그래머스] Level 1. 자릿수 더하기 (0) | 2023.01.16 |