문제 : string 변수가 주어지며 길이가 짝수 일 시 가운데 두글자 홀 수 일 시 가운데 글자 반환
제한
- s는 길이가 1 이상, 100이하인 스트링입니다.
풀이 : 문제 자체에서 Substring을 사용하라는거 같아서 쓰지 않고 해보려고 풀었다..
public static string solution(string s)
{
string answer = "";
if (s.Length % 2 == 0)
answer = s.AsEnumerable().ElementAt(s.Length / 2 - 1).ToString() + s.AsEnumerable().ElementAt(s.Length / 2).ToString();
else
answer = s.AsEnumerable().ElementAt(s.Length / 2).ToString();
return answer;
}
풀이2 : 다른 풀이를 확인 하는 도중 string 변수를 바로 Index 로 가져올 수 있다는 것을 처음알게 되었다.
대신 가져왔을 시 Char 형식 이며, Char 형식으로 모아 다시 String 으로 캐스팅 시 이상한 값이 나오게 되었다.
사용할땐 다시 확인 하는게 중요할거 같다.
public static string solution(string s)
{
string answer = "";
int length = s.Length;
if (length % 2 == 0)
{
int pointer = length / 2 - 1;
answer = (s[pointer].ToString() + s[++pointer].ToString());
}
else
{
int pointer = length / 2 - 1;
answer = (s[++pointer]).ToString();
}
return answer;
}
'알고리즘 > C#' 카테고리의 다른 글
[C#] 두정수 사이의 합- 프로그래머스 (0) | 2020.10.10 |
---|---|
[C#] 나누어 떨어지는 숫자 배열 - 프로그래머스 (0) | 2020.10.09 |
[C#] 2016년 - 프로그래머스 (0) | 2020.10.07 |
[C#] 체육복 - 프로그래머스 (0) | 2020.10.06 |
[C#] K번째 가져오기 - 프로그래머스 (0) | 2020.10.05 |