728x90
반응형
힌트
더보기
- string[] quiz는 {"1 + 2 = 3", "2 + 3 = 3"} 으로 1공백+공백2공백=공백3 과 같은 구조로 공백을 기준으로 split하여 배열로 나눌 수 있다.
- split으로 나눈 배열의 홀수번째는 +,-,=과 같은 연산 문자이다
정답
더보기
public static string[] Solution60(string[] quiz)
{
List<string> resultList = new List<string>();
foreach(var q in quiz) resultList.Add(IsTrue(q));
return resultList.ToArray();
}
static string IsTrue(string s){
var arr = s.Split(" ");
var result = 0;
if(arr.Skip(1).First()=="+"){ result = int.Parse(arr.First()) + int.Parse(arr.Skip(2).First());}
else result = int.Parse(arr.First()) - int.Parse(arr.Skip(2).First());
return result == int.Parse(arr.Last()) ? "O" : "X";
}
해석
더보기
List<string> resultList = new List<string>();
문자열 배열마다 결과를 저장하기 위한 리스트 생성
foreach(var q in quiz) resultList.Add(IsTrue(q));
배열의 숫자만큼 반복하여 리스트에 추가한다
var arr = s.Split(" ");
문자열을 공백을 기준으로 나누어준다
if(arr.Skip(1).First()=="+"){ result = int.Parse(arr.First()) + int.Parse(arr.Skip(2).First());}
arr의 두 번째 문자가 +일 경우 +연산을 해준다
else result = int.Parse(arr.First()) - int.Parse(arr.Skip(2).First());
반대의 경우 -연산을 해준다
return result == int.Parse(arr.Last()) ? "O" : "X";
연산의 결과와 문자열 마지막의 숫자가 일치하면 O 아니면 X를 리턴해준다
728x90
반응형
'C#' 카테고리의 다른 글
[프로그래머스 힌트/답/해석] 컨트롤 제트 (0) | 2024.01.30 |
---|---|
[프로그래머스 힌트/답/해석] 외계어 사전 (0) | 2024.01.30 |
[프로그래머스 힌트/답/해석] 가까운 수 (0) | 2024.01.29 |
[프로그래머스 힌트/답/해석] 숨어있는 숫자의 덧셈1 (0) | 2024.01.29 |
[프로그래머스 힌트/답/해석] 모음 제거 (1) | 2024.01.29 |