[내가 푼 방식]
1. int를 String으로 변환한 후 원하는 위치의 값을 substring으로 잘라 구하고 이를 다시 int로 변환하여 합 변수에 더한다.
2. 나머지가 0인 경우와 아닌 경우로 나누어 TF 확인을 한다.
class Solution {
public boolean solution(int x) {
String xstr = Integer.toString(x);
int sum=0;
for (int i = 0; i < xstr.length(); i++) {
sum += Integer.valueOf(xstr.substring(i,i+1));
}
boolean answer = true;
if(x%sum!=0){
answer=false;
}
return answer;
}
}
[실행 시간을 훨씬 오래 걸리지만 다른 방식]
int sum = String.valueOf(x).chars().map(ch -> ch - '0').sum();
return x % sum == 0;
'Algorithm 알고리즘' 카테고리의 다른 글
[프로그래머스 Lv1]평균구하기(JAVA) (0) | 2021.08.27 |
---|---|
[프로그래머스 Lv1]핸드폰 번호 가리기(JAVA) (0) | 2021.08.26 |
[프로그래머스 Lv1]행렬의 덧셈(JAVA) (0) | 2021.08.25 |
[프로그래머스 Lv1]x만큼 간격이 있는 n개의 숫자(JAVA) (0) | 2021.08.24 |
[프로그래머스 Lv1]직사각형 별찍기(JAVA) (0) | 2021.08.23 |