프로그래머스

[프로그래머스]자릿수 더하기

Young_Han 2024. 9. 7. 13:33

[문제 설명]

 

[풀이 1 : 정수 나눗셈]

public class Solution {
    public int solution(int n) {
        int answer = 0;
        while (n > 0) {   //while 반복문 활용
            answer += n%10; //n을 10으로 나눈 나머지 값을 answer에 저장한다.
            n/=10; //나머지 값을 소거하고 자릿수를 낮추기 위해 기존의 값에 10을 나눈다.
        }
        return answer;
    }
}

 

 

 

[풀이 2 : String 변환]

public class Solution {
    public int solution(int n) {
        int answer = 0;
        String s = Integer.toString(n); //정수형(int) n을 문자형(Stirng)으로 변환한다.       
        for (int i=0; i<s.length(); i++) { //for 반복문 활용, i<s.length() = 자릿수만큼 반복하겠다.
            answer += Integer.parseInt(s.substring(i, i+1)); //문자형 인덱스 i부터 (i+1)-1까지, 즉 i번째 문자를 정수형으로 변환한 값을 저장한다.
        }
        return answer;
    }
}

 

[새롭게 배운 것]

  • Integer.toString(x) : 전달받은 인자(x)를 String 객체로 표기한다.
  • Integer.parselnt(x): 전달받은 인자(x)를 int 객체로 표기한다.
  • substring(x): x부터 끝까지 문자열을 리턴한다. / substring(x, y) : x부터 y전까지 문자열을 리턴한다.

 

[회고]

문제를 풀 수 있는 방법은 여러 가지다. 하나에만 국한되어있지 않고 다양한 접근이 필요한 것 같다. 처음 본 문자들이 있지만 덕분에 공부할 기회가 생겨 좋다.