▼ Stream과 IntStream 써보려고 헤메다 포기함
class Solution {
public int solution(String num_str) {
int answer = 0;
for(int i=0; i<num_str.length(); i++) {
answer += (int)(num_str.charAt(i))-48;
}
return answer;
}
}
(참고: 0의 아스키코드 값은 48이다.)
▼ 그래서 가져온 스트림 사용한 풀이
import java.util.stream.Stream;
class Solution {
public int solution(String num_str) {
return Stream.of(num_str.split("")).mapToInt(Integer::parseInt).sum();
}
}
java에서 String 객체는 sequence나 iterable 취급하지 않으므로 split으로 각 요소를 나눠주고, mapToInt를... 크흡...
▼ 하지만 이렇게 풀 수도 있었겠지... chars() 의 존재를 매번 잊어...
class Solution {
public int solution(String numStr) {
return numStr.chars().map(c -> c - 48).sum();
}
}
String.chars()
: 문자열을 IntStream으로 변환하여 문자열의 각 문자에 해당하는 코드 포인트(Unicode 코드)를 나타내는 정수 스트림을 생성하는 메서드
'Study with me > 프로그래머스 L0 마스터하기' 카테고리의 다른 글
프로그래머스 - L0 접미사인지확인하기 (1) | 2023.12.08 |
---|---|
프로그래머스 - L0 조건에맞게수열변환하기1 (1) | 2023.12.08 |
프로그래머스 - L0 특정한문자를대문자로바꾸기 (0) | 2023.12.06 |
프로그래머스 - L0 글자이어붙여문자열만들기 (0) | 2023.12.06 |
프로그래머스 - L0 n번째원소부터 (0) | 2023.12.05 |