프로그래머스LV1 - 자릿수더하기

Kong-al·2022년 9월 23일
0
post-custom-banner

22.09.23 D-100

프로그래머스LV1 - 자릿수더하기

[ 답안 ]

import java.util.*;

	public class Solution {
	    public int solution(int n) 
	    	int answer = 0;
	    	// 1) while문을 n이 0보다 클때까지 돌리고 
	    	while(n > 0) {
            //2) answer에 n을 10으로 나눈 나머지를 더한 뒤
	    		answer += n%10;
                //3) n을 10으로 나누어 나머지값을 버린 후
	    		n/=10;
                //1로 돌아가 3에서 나온 n 값을 0과 비교하여
                //n이 0보다 작아질때까지 위의 순서를 반복한다.
	    	}
	        return answer;
	    }
	}

문제를 처음 봤을때 바로 생각났던 방법이다.

문제를 풀고 난 후 생각난 다른 방법은 n을 String으로 변환 후 String[]에 하나씩 넣어서 숫자로 다시 변환하여 더해주는 방법이다.

[답안]

public class Solution {
	    public int solution(int n) {
	    	
	    	int answer = 0;
	    	// 숫자 n을 String 타입으로 변환
	    	String num = Integer.toString(n);
	    	// 반복문을 String 타입으로 변환한 n 의 자릴수 만큼 반복시켜준다.
	    	for(int i = 0 ; i < num.length(); i++){
	    		String[] result = new String[num.length()]; 
	    		// String타입으로 변환된 n을 한자씩 쪼개어 String배열인 result에 넣어준다
	    		result = num.split("");
	    		// String타입으로 하나씩 쪼개져 result[i]들어있는 값을 숫자로 변환 후 answer에 더해준다
	    		answer += Integer.parseInt(result[i]);
	    	}
	        return answer;
	    }
	}

개인적으로는 처음에 생각난 방법이 단순해서 더 선호한다.

profile
웹개발 공부중!(❁´◡`❁)
post-custom-banner

0개의 댓글