answer이 103이 출력됨 아마 문자열을 숫자로 바꿔서 출력되는 듯
아스키 코드표에서 문자 3과 4를 10진수로 표현하면 각각 51 52이다. 그래서 103이 출력
그래서 a,b를 찍어보니 진짜 51 52임
구글링으로 문자열을 숫자로 바꾸는거 찾아봄
Convert.ToInt32(input);
int a=Convert.ToInt32(my_string[0]);
int a = int.Parse(my_string[0].ToString());
int로 변환 하니 3으로 제대로 출력
-는 생각하지 않고 +만 생각했을 때 +는 통과
이제 부호 구분해보자
var charArray = my_string.ToCharArray();
var c=charArray[2];
if(c=="+"){
answer=a+b;
}
else{
answer=a-b;
}
당연히 안됨
문자열 비교 Equals 씀
+랑 Equal이 안나옴 왜지?
다른 사람 풀이 찾아보니까 Split 를 함
public class Solution {
public int solution(string my_string) {
int answer = 0;
string[] str = my_string.Split(" ");
int a = int.Parse(my_string[0].ToString());
int b=int.Parse(my_string[4].ToString());
if(str[1].Equals("+")){
answer=a+b;
}
else{
answer=a-b;
}
return answer;
}
}
그렇게 하니까 통과됨
근데 채점하니까
틀림..
테스트 케이스 추가 했더니 런타임에러
아 .. 생각해보니 내가 배열의 [0] 이런거 해서
두자리 수가 되면 배열에서의 순서가 달라짐
이렇게 하면 안되겠다.
for문을 돌아서 부호를 찾자
그리고 찾으면 배열의 첫번째 값이랑 부호 바로 다음값을 더하면 되겠다.
using System;
public class Solution {
public int solution(string my_string) {
int answer = 0;
string[] str = my_string.Split(" ");
for(int i=0;i<str.Length;i++)
{
if(str[i].Equals("+")){
answer =int.Parse(str[0])+int.Parse(str[i + 1]);
}
else if(str[i].Equals("-"))
{
answer =int.Parse(str[0])-int.Parse(str[i + 1]);
}
}
return answer;
}
}
이번에도 테스트 케이스 통과했는데 채점하니까 틀림 ; 우이씨
다시 다른 사람 풀이 찾아보기..
아예 처음에 answer에다가 문자열[0] 값을 넣어주고 for문 안에서 더함
using System;
public class Solution {
public int solution(string my_string) {
string[] str = my_string.Split(" ");
int answer = int.Parse(str[0]);
for(int i=0;i<str.Length;i++)
{
if(str[i].Equals("+")){
answer+=int.Parse(str[i + 1]);
}
else if(str[i].Equals("-"))
{
answer -=int.Parse(str[i + 1]);
}
}
return answer;
}
}
answer =int.Parse(str[0])+int.Parse(str[i + 1]);
이거를 이렇게 바꾸니까 정답임 왜지? 이해가 안된다
int answer = int.Parse(str[0]);
answer+=int.Parse(str[i + 1]);
'프로그래머스 코딩테스트 연습' 카테고리의 다른 글
[프로그래머스 코테 C#] Lv0. 문자열 곱하기 (0) | 2024.03.11 |
---|---|
[프로그래머스 코테 C#] Lv0. 문자열을 정수로 변환하기 (0) | 2024.03.11 |
[프로그래머스 코테 C#] Lv0. 문자열안에 문자열 (1) | 2024.02.26 |
[프로그래머스 코테 C#] Lv0. 문자열 뒤집기 (0) | 2024.02.26 |
[프로그래머스 코테 C#] Lv0. day2 (0) | 2024.02.18 |