문제
답안 코드
class Solution {
public int solution(String s) {
int answer = 0;
String[] arr = s.split(" ");
for(int i = 0; i < arr.length; i++){
if(arr[i].equals("Z")){
arr[i-1] = "0";
arr[i] = "0";
}
}
for(int j = 0; j < arr.length; j++){
answer += Integer.parseInt(arr[j]);
}
return answer;
}
}
코드 풀이
string 배열도 배열이다.
처음에는 string 배열을 list로 바꿔줘서 add remove 등을 써보려했더니 list를 다시 string으로 바꾸고 그걸 다시 int형으로 받는 과정에서 계속 오류가 생겼다.(Integer.parseInt를 쓰려고 하면 음수를 받는 과정에서 -를 기호로 받아서 안되는 모양이다.)
그러다가 list를 굳이 쓸 필요가 없다는 걸 깨달았다.
그리고 또 합만 구하면 되는 것이니 특정 원소를 굳이 빼지 않고 그냥 0으로 치환해주기만 하면 되자나!
그래서 결국 풀었지만 난 원소를 빼서 더하고 싶었다.
다른 사람들 풀이를 보니 stack, linkedlist 등 되게 다양하게 풀었더라
이참에 stack을 다시 복습해보려한다.