풀이방법 1)
public class BJ11720_숫자의합 {
public int solution(String numbers) {
int answer = 0;
for (int i=0; i<numbers.length(); i++) {
answer += Character.getNumericValue(numbers.charAt(i));
}
return answer;
}
public static void main(String[] args) {
BJ11720_숫자의합 ex = new BJ11720_숫자의합();
System.out.println(ex.solution("1"));
System.out.println(ex.solution("54321"));
System.out.println(ex.solution("70000000000"));
System.out.println(ex.solution("10987654321"));
}
}
java.lang.Character.getNumericValue(char)
숫자 형태의 char형을 int형으로 변환
그렇지 않으면 -1 반환
- Java 표준 라이브러리의 일부로, java.lang.Character 클래스에 포함된 기본 메서드
- Java 표준 라이브러리는 Java 프로그래밍 언어와 함께 제공되는 기본클래스와 메서드의 집합이다.
- 메서드 시그니처: public static int getNumericValue(char ch)
- char 값이 숫자 형태(예: '0' ~ '9')인 경우, 해당 숫자 값을 반환한다.
- char 값이 유니코드 숫자 형태(예: 'Ⅰ' ~ 'Ⅻ')인 경우, 해당 유니코드 숫자 값을 반환한다.
- char 값이 숫자 형태가 아닌 경우, -1을 반환한다.
ex)
char ch1 = '5';
char ch2 = 'A';
char ch3 = 'Ⅳ'; // 유니코드 숫자
int num1 = Character.getNumericValue(ch1);
int num2 = Character.getNumericValue(ch2);
int num3 = Character.getNumericValue(ch3);
System.out.println("Numeric value of '5': " + num1);
System.out.println("Numeric value of 'A': " + num2);
System.out.println("Numeric value of 'Ⅳ': " + num3);
charAt(int idx)
문자열의 idx번째 문자를 반환하는 메서드
- java.lang.String 클래스에 정의
- 문자열 내의 특정 위치에 있는 문자를 가져온다.
- 메서드 시그니처 : public char charAt(int idx)
풀이방법 2)
import java.util.stream.IntStream;
public class BJ11720_숫자의합 {
public int solution(String numbers) {
return IntStream.range(0,numbers.length())
.map(i -> Character.getNumericValue(numbers.charAt(i)))
.sum();
}
public static void main(String[] args) {
BJ11720_숫자의합 ex = new BJ11720_숫자의합();
System.out.println(ex.solution("1"));
System.out.println(ex.solution("54321"));
System.out.println(ex.solution("70000000000"));
System.out.println(ex.solution("10987654321"));
}
}
IntStream.range(0, numbers.length())
0부터 numbers.length()까지의 정수 스트림을 생성한다.
.map(i -> Character.getNumericValue(numbers.charAt(i)))
각 인덱스 i에 대해 numbers.charAt(i)를 숫자로 변환한다.
.sum()
변환된 숫자들의 합계를 계산하여 반환한다.
refer to
메가스터디아이티 이광호쌤
https://nanarin.tistory.com/15https://nanarin.tistory.com/15
'IT > Algorithm | Coding Test' 카테고리의 다른 글
[프로그래머스 181893] [Java] 배열 조각하기 (0) | 2025.01.17 |
---|---|
[백준 1546] [Java] 평균구하기 (0) | 2025.01.15 |
배열, 리스트 (Java) (0) | 2025.01.14 |
[백준 2164] [Java] 카드2 (0) | 2025.01.08 |
스택 Stack, 큐 Queue, 덱 Deque (1) | 2025.01.05 |