C#

[프로그래머스 힌트/답/해석] 컨트롤 제트

Guk-blog 2024. 1. 30. 14:59
728x90
반응형

힌트

더보기

- 문자열들의 값들을 int 화 하여 더해주다가 다음 문자가 'Z'면 이전 값을 뺴준다

- 다음 문자가 'Z'가 아닐 때만 각 문자를 int화하여 더해준다

- 문자열 s에서 'Z'와 그 이전 숫자 문자를 제거하여 모두 더해준다

예시) "1256Z235" -> "125235" 한 후 합산

정답

더보기

 

var arr = s.Split(" ").ToList();

while(arr.Contains("Z"))
{
    arr.RemoveRange(arr.IndexOf("Z")-1, 2);
}
return arr.Sum(x=> Convert.ToInt32(x));

해석

더보기
var arr = s.Split(" ").ToList();

문자열 s를 " " 공백을 기준으로 나누어 리스트화하여 저장한다

while(arr.Contains("Z"))

 리스트 arr에 "Z"가 포함되어 있으면 반복한다

arr.RemoveRange(arr.IndexOf("Z")-1, 2);

 리스트 arr에서 "Z"의 인덱스 전부터 다음까지("Z"의 인덱스까지)를 제거한다

return arr.Sum(x=> Convert.ToInt32(x));

 불필요한 문자들을 제거 후 Int화 하여 합산한다

 

728x90
반응형