-
프로그래머스 - 자릿수 더하기알고리즘 2022. 4. 26.반응형
내 풀이
public class Test { public int solution(int n) { int answer = 0; String x = String.valueOf(n); String[] arr = x.split(""); for(int i=0; i<arr.length; i++) { answer += Integer.parseInt(arr[i]); } return answer; } public static void main(String[] args) { // TODO Auto-generated method stub Test t = new Test(); System.out.println(t.solution(123)); } }
- 부여받은 매개변수의 자리수를 자르기 위해서는 String으로 형변환 해야함
- split()으로 자리수를 나눈다음에 배열에 담아서 각 자리수(배열의 원소)를 for 반복문을 통해서 더한다.
다른 사람 풀이 - 형변환 없이
import java.util.*; public class Solution { public int solution(int n) { int answer = 0; while(true){ answer+=n%10; if(n<10) break; n=n/10; } // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. System.out.println("Hello Java"); return answer; } }
- 나머지 연산을 가지고 구하는 방법
1. 정수 나누기 10의 나머지는 마지막 자리수가 나옴 (ex 123 % 10 = 3)
2. 그리고 n을 n 나누기 10 해버리면 int형은 뒤에 소수점은 버리고 앞에 정수만 저장함. (ex 123 / 10 = 12.3 -> int에는 12가 저장됨)
3. 위의 1번 2번을 반복하면서 더해주면 되는데 n이 10보다 작으면 더이상 10으로 나누었을때 소수점 밖에 안남기 때문에 반복문 탈출을 해줌.
반응형'알고리즘' 카테고리의 다른 글
프로그래머스 - 약수의 합 (0) 2022.05.14 프로그래머스 - 이상한 문자 만들기 (0) 2022.05.05 프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) 2022.04.25 프로그래머스 - 정수 내림차순으로 배치하기 (0) 2022.04.23 프로그래머스 - 정수 제곱근 판별 (0) 2022.04.23