거인의 코딩일지
[Lv.0_JAVA] 문자열 계산하기 본문
728x90
import java.util.*;
class Solution {
public int solution(String my_string) {
String[] arr = my_string.split(" ");
int answer = Integer.parseInt(arr[0]);
for(int i = 1; i < arr.length -1; i++){
if(arr[i].equals("+")){
answer += Integer.parseInt(arr[i+1]);
}else if(arr[i].equals("-")){
answer -= Integer.parseInt(arr[i+1]);
}
}
return answer;
}
}
- 우선 문자열에 공백을 기준으로 나눠줄 수 있기에 split() 함수를 활용하여 공백을 기준으로 배열을 만들어 주었다
- 그 후 answer 에 arr의 0번째 번호를 할당하여 주었다.
- for 문을 활용하여 그 안에서 + 일 경우와 - 일 경우를 나누어 " + " 일 경우에는 answer 에다가 arr [i+1] 을 더해 주었고 " - "일 경우에는 answer 에다가 arr [i+1] 을 빼 주었다.
- 그 다음 answer 을 return 해주었고 결과를 얻었다!!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/016.gif)
다른 사람의 풀이,,,!
class Solution {
public int solution(String my_string) {
int answer = 0;
boolean sign = true;
String[] sarr = my_string.split(" ");
for(int i=0; i<sarr.length; i++){
if(i%2==0){
answer += sign? Integer.parseInt(sarr[i]):-Integer.parseInt(sarr[i]);
}else{
sign = sarr[i].equals("+");
}
}
return answer;
}
}
- sign 이라는 boolean변수를 만들어 주어 for문을 통해서 숫자일 경우 삼항 연산자를 통해서 더하고 뺴는것을 해주었다...! 이렇게 생각할 수 도 있다는걸 다시 배울 수 있었다...!
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/039.gif)
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.0_JAVA] 문자 개수 세기 (0) | 2023.10.28 |
---|---|
[Lv.1_Java] 햄버거 만들기 (0) | 2023.10.26 |
[Lv.0_Java] 약수 구하기 (0) | 2023.10.05 |
[Lv.0_Java] 한 번만 등장한 문자 (0) | 2023.10.05 |
[Lv.0_Java] 가까운 수 (2) | 2023.10.05 |