-
[프로그래머스 1단계 - JAVA] 하샤드 수JAVA 2022. 9. 16. 16:18728x90반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
풀이
class Solution { public boolean solution(int x) { String[] sArr = (""+x).split(""); boolean answer = true; int y = method(sArr); if(x%y != 0){ answer = false; } return answer; } static int method(String[] sArr){ int y = 0; for(int i = 0; i < sArr.length; i++){ y = y + Integer.parseInt(sArr[i]); } return y; } }
- 입력받은 정수 x를 String 배열로 만든다.
- method는 String 배열을 숫자로 바꿔서 각 자리수를 더한 값을 반환한다.
- x를 method에서 반환된 값으로 나눈 나머지가 0이면 true를 아니면 false를 반환
728x90반응형'JAVA' 카테고리의 다른 글
[Java] 자바의 정석 객체지향 part 복습 (1) 2022.09.30 [프로그래머스 2단계 - JAVA] 게임 맵 최단거리 (1) 2022.09.29 [프로그래머스 1단계 - JAVA] 정수 내림차순으로 배치하기 (0) 2022.09.16 [프로그래머스 1단계 - JAVA] 문자열 내 p와 y의 개수 (1) 2022.09.16 [프로그래머스 1단계 - JAVA] 자연수 뒤집어 배열로 만들기 (0) 2022.09.16