글
프로그래머스 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;
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 캐릭터의 좌표(범위 아웃 설정, JAVA) (0) | 2023.01.19 |
---|---|
프로그래머스 C# 종이 자르기(JAVA) (0) | 2023.01.19 |
프로그래머스 C# 외계어 사전(replace, for, if문, P, J) (0) | 2023.01.03 |
프로그래머스 C# 영어가 싫어요(string과 replace, long.Parse, P, J) (0) | 2023.01.02 |
프로그래머스 C# 소인수분해(Distinct, List, while,P,J) (0) | 2023.01.02 |