프로그래머스 C# 문자열 계산하기(string split, break, P, J)
using System;
public class Solution {
public int solution(string my_string) {
string[] str = my_string.Split(" "); /// 입출력 예 1에서 {3} {+} {4}로 나뉘어 진다.
int answer = int.Parse(str[0]); // 맨 처음 숫자를 answer가 갖고 있는다.
for(int i = 0; i < str.Length-2; i++)
{
if(i%2 == 0)
{
if(str[i+1].ToString() == "+")
{
answer = answer + int.Parse(str[i+2]);
}
else if(str[i+1].ToString() == "-")
{
answer = answer - int.Parse(str[i+2]);
}
else
{
break;
}
}
}
return answer;
}
}
// +와 -가 나오는 위치가 아무것도 안 건드리면 2, 6, 10번째 배열 위치에 나오니까 4로 나눈 나머지가 2가 되게 하는 방식도 가능하기는 하지만
// 빈칸을 다 없애버리고 계산하면 빠르게 2와 나눈 나머지로 할 수 있다는 게 장점.
파이썬
////
solution=eval
자바
/////////
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;
}
}