다른 사람의 풀이
import java.util.Arrays;
class Solution {
public int solution(String myString) {
return Arrays.stream(myString.replaceAll("- ", "-").replaceAll("[+] ", "").trim().split(" ")).mapToInt(Integer::parseInt).sum();
}
}
▶ "- "를 "-"로 바꾸는 작업은 -를 숫자에 붙이려는 목적이다.
▶ mapToInt(Integer::parseInt) → String타입의 숫자를 int타입의 숫자로으로 바꾼다!!!
▶ 중요한 점은 mapToInt(Integer::parseInt)를 사용하는 경우 "-3"문자열도 -3숫자로 바뀌준다.
▶ "+3"문자열은 +3 숫자로 바뀌 줄수 없다. 따라서 replaceAll()을 사용하여 소거해준다.
▶ [+] → 정규식 표현이다.
▶ trim()은 참조변수가 String타입인 경우에 불러 올 수 있다.
▶ 참조변수가 String[] 배열 타입인경우 trim()를 호출할 수 없음에 주의한다.
▶ trim()은 왼쪽에 있는 공백, 오른쪽에 있는 공백을 모두 제거해 준다.
▶ 문자열의 왼쪽 끝과 오른쪽 끝에 공백이 있을 수도 있기 때문에 trim()을 사용한다.
'프로그래머스(자바) > LV.0(자바)' 카테고리의 다른 글
외계어사전 → String[ ] 배열의 정렬, 문자열 내의 정렬★★ (0) | 2022.11.27 |
---|---|
구슬을 나누는 경우의 수→순수(?) 조합 계산★★ (0) | 2022.11.27 |
영어가 싫어요→for문을 이용한 갱신o, 배열+for문 (0) | 2022.11.26 |
숨어있는 숫자의 덧셈(2)→replaceAll()+정규식, str.split() 두 번 써서 숫자 갈라치기 (0) | 2022.11.26 |
잘라서 배열로 저장하기★★→ 한 문자씩 빈문자열 더하기 + if조건☆ (0) | 2022.11.26 |