본문 바로가기
프로그래머 ,백준, 유튜브, 문제

하샤드 수_프로그래머스

by 리승우 2022. 9. 25.

[필요개념]

사고의 전환이 필요함

> 인트 변수를 스트링 배열로 바꾸는 법 미쳤다.

//        String[] temp = String.valueOf(num).split("");

> 스트링 배열 인덱스마다 위치한 숫자스트링을 모두 더해주는 방법

//        int sum = 0;
//        for (String s : temp) {
//            sum += Integer.parseInt(s);
//        }

이것만 활용하면 아래 내 정답코드를 일축시켜버릴 수 있음.

 

 

class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        int sum = 0;
        
        // int x값을 String으로 변환 후 split으로 배열선언
        String test = ""+x;
        String[] strarr = test.split("");

		// intarr 인트배열 생성
        int[] intarr = new int[strarr.length];

		// for문을 돌며 intarr배열에 추출값을 int로 변환해서 넣음
        for(int i=0; i< strarr.length; i++){
          intarr[i] = Integer.parseInt(strarr[i]);
        }

        for(int i=0; i< intarr.length; i++){
            sum+=intarr[i];
        }

        if(x%sum==0){
            answer = true;
        } else{
            answer = false;
        }

        return answer;
    }
}

public class Hello {
    public static void main(String[] args) {
        Solution test = new Solution();
        int p = 10;

        System.out.println(test.solution(p));
    }
}

댓글