[문제 설명]
[풀이 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전까지 문자열을 리턴한다.
[회고]
문제를 풀 수 있는 방법은 여러 가지다. 하나에만 국한되어있지 않고 다양한 접근이 필요한 것 같다. 처음 본 문자들이 있지만 덕분에 공부할 기회가 생겨 좋다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 제일 작은 수 제거하기(Java) (1) | 2024.09.27 |
---|---|
[프로그래머스] 조건문 switch (0) | 2024.09.09 |
[프로그래머스] 배열의 평균값 - 반복문 활용, 형변환 (0) | 2024.09.06 |
[프로그래머스]짝수의 합 - 반복문 활용, if문 활용 (0) | 2024.09.05 |
[프로그래머스] 삼항 연산자 / 문제 / 조건문 활용 (0) | 2024.09.04 |