728x90
문제 힌트
- split 사용하기
- 주어진 문자열을 공백(" ")을 기준으로 나누어 배열에 저장합니다.
- 예: "5 + 7 + 2 - 1 - 5" → ["5", "+", "7", "+", "2", "-", "1", "-", "5"]
- i % 2 == 0 일 때 피연산자 처리
- 배열의 인덱스가 짝수인 경우, 피연산자를 의미합니다.
- 이때, 연산자에 따라 피연산자 값을 누적합니다.
- 예: "5 + 7 + 2 - 1 - 5"에서 5, 7, 2, 1, 5가 피연산자입니다.
- i % 2 != 0 일 때 연산자 처리
- 배열의 인덱스가 홀수인 경우, 연산자를 의미합니다.
- "+" 연산자는 다음 피연산자를 더하고, "-" 연산자는 다음 피연산자를 빼도록 설정합니다.
- 예: "5 + 7 + 2 - 1 - 5"에서 +, +, -, -가 연산자입니다.
정답은 더보기 클릭
더보기
class Solution {
public int solution(String my_string) {
// 문자열을 공백을 기준으로 분리하여 배열로 저장
String[] strArr = my_string.split(" ");
// 첫 번째 숫자를 초기 결과값으로 설정
int result = Integer.parseInt(strArr[0]);
// 연산자에 따라 연산할 값을 저장할 변수
int operand = 0;
for (int i = 1; i < strArr.length; i++) {
// 피연산자 처리
if (i % 2 == 0) {
// 연산자에 따라 피연산자를 곱하고 결과에 더함
operand *= Integer.parseInt(strArr[i]);
result += operand;
}
// 연산자가 "+"인 경우
else if (strArr[i].equals("+")){
operand = 1; // 양수로 설정
}
// 연산자가 "-"인 경우
else {
operand = -1; // 음수로 설정
}
}
return result;
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 타겟넘버 (0) | 2024.08.01 |
---|---|
[프로그래머스] 배열 만들기 4 (0) | 2024.07.30 |
[프로그래머스] 최빈값 구하기 (0) | 2024.07.29 |
[프로그래머스] 합성수 찾기 (0) | 2024.07.29 |
[프로그래머스] 외계행성의 나이 (0) | 2024.07.28 |