반응형
SMALL
https://programmers.co.kr/learn/courses/30/lessons/12947
- 첫번째 방법
- 일의자리수 구하는 방식
import java.util.*;
class Solution {
public boolean solution(int x) {
boolean answer = true;
int sum = 0;
int temp = x;
while(temp >= 1) { // 자릿수 줄여가다가 음수되면 끝
sum += temp % 10; // 일의자리로 하나씩 구해서 더하기
temp /= 10; // 자릿수 줄이기
}
if(x % sum != 0) {
return false;
}
return answer;
}
}
- 두번째 방법
- 숫자를 문자열 취급
- int > char
public class HarshadNumber{
public boolean isHarshad(int num){
char[] charArr = String.valueOf(num).toCharArray();
int divisor = 0;
for (char c : charArr) {
divisor += (int) c - 48;
}
return (num % divisor == 0);
}
}
- 세번째 방법
- 숫자를 문자열 취급
- int > String
- split("") 사용
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;
}
}
반응형
LIST
'JAVA > Algorithm' 카테고리의 다른 글
[프로그래머스/java] 행렬의 덧셈 (0) | 2020.12.13 |
---|---|
[프로그래머스/java] 핸드폰 번호 가리기 (0) | 2020.12.12 |
[프로그래머스/java] 콜라츠 추측 (+ 오답 이유 (feat.자료형범위)) (0) | 2020.12.10 |
[프로그래머스/java] 키패드 누르기 (2020 카카오 인턴십) (0) | 2020.12.02 |
[프로그래머스/java] 제일 작은 수 제거하기 (0) | 2020.12.02 |