1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12947?language=java
코딩테스트 연습 - 하샤드 수
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하
programmers.co.kr
2. 나의 풀이
class Solution {
public boolean solution(int arr) {
boolean answer = false;
String imsi = "" + arr;
int imsi1 = 0;
for(int i = 0; i < imsi.length(); i = i + 1) {
imsi1 += Integer.parseInt(imsi.substring(i, i + 1));
}
if(arr % imsi1 == 0) {
answer = true;
}else if(arr % imsi1 != 0) {
answer = false;
}
return answer;
}
}
3. 다른 사람 풀이
public class HarshadNumber{
public boolean isHarshad(int num){
String[] temp = String.valueOf(num).split("");
int sum = 0;
for (String s : temp) {
sum += Integer.parseInt(s);
}
if (num % sum == 0) {
return true;
} else {
return false;
}
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args){
HarshadNumber sn = new HarshadNumber();
System.out.println(sn.isHarshad(18));
}
}
'알고리즘 공부 > 프로그래머스' 카테고리의 다른 글
(Java)프로그래머스 코딩테스트 연습 - 스택/큐 - 다리를 지나는 트럭 (0) | 2020.11.12 |
---|---|
(Java)프로그래머스 코딩테스트 연습 - 2019 KAKAO BLIND RECRUITMENT - 실패율 (0) | 2020.11.10 |
(Java)프로그래머스 코딩테스트 연습 - 월간 코드 챌린지 시즌1 - 3진법 뒤집기 (0) | 2020.11.10 |
(Java)프로그래머스 코딩테스트 연습 - 월간 코드 챌린지 시즌1 - 내적 (0) | 2020.11.10 |
(Java)프로그래머스 코딩테스트 연습 - 스택/큐 - 기능개발 (0) | 2020.11.01 |