[C#]가운데 글자 가져오기
2020. 8. 3. 13:52ㆍ[C#] 코딩테스트 문제풀이
반응형
프로그래머스 문제
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
내 풀이
public class Solution {
public string solution(string s) {
string answer = "";
char[] temp = s.ToCharArray();
for(int i=0; i<temp.Length; i++)
{
if(temp.Length%2==0)
{
answer +=temp[temp.Length/2-1];
answer+=temp[temp.Length/2];
break;
}
else
{
answer+= temp[temp.Length/2];
break;
}
}
return answer;
}
}
느낀점 : 간단하긴 했으나 함수를 사용하면 더 간단하게 풀 수 있을 것 같아서 다른사람의 풀이를 참고해보기로 하였다.
다른 사람 풀이
public class Solution {
public string solution(string s) {
int n = (s.Length+ 1)%2;
int l = s.Length/2 - n;
return s.Substring(l, n + 1);
}
}
느낀점 : Char형 문자 배열로 바꿔서 풀지 않아도 string형 변수의 .Length를 사용해서 처리를하고 return할때도 Substring()을 통해 하니 간단하게 처리 할 수 있는 것 같다.
반응형
'[C#] 코딩테스트 문제풀이' 카테고리의 다른 글
[C#] 체육복 문제(탐욕법Greedy) (0) | 2020.08.03 |
---|---|
[C#] 날짜주고 요일 맞추기 문제(2016년) (0) | 2020.08.03 |
[C#]나누어 떨어지는 숫자 배열 (0) | 2020.08.02 |
[C#]두 정수 사이의 합 (0) | 2020.08.02 |
[C#] 문자열 내 마음대로 정렬하기 (0) | 2020.08.02 |