문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
기본 제공 코드
public class Solution {
public string solution(string s) {
string answer = "";
return answer;
}
}
처음 문제를 봤을때는 string 메서드인 Substring을 사용해서 문자열의 위치값을 찾는
방법을 생각해서 해봤는데 잘 사용할줄 몰라서 번번히 실패하고 거듭 고민을 해보았다.
고민한 결과 문자의 가운데 라면 쉽게 구할 수 있지 않을까 하는 생각에 도달했고
문자.Length로 문자의 길이를 불러와서 반으로 나누어주기만 해도 문자의 가운데 글자를
찾을 수 있겠다 싶어 코드를 작성해 보았다.
그리고 원래 같으면 문자의 index를 구하는데 반복문(for)을 사용했겠지만 코드를 짜는 도중에
어차피 한번만 나눠도 문자의 가운데값을 가져올 수 있다는걸 깨달아서
if문으로 조건을 충족시켜 작성했다.
public class Solution {
public string solution(string s) {
string answer = "";
int i = s.Length / 2;
if(s.Length % 2 == 0)
{
answer += s[i - 1];
answer += s[i];
}
else
{
answer += s[i];
}
return answer;
}
}
반응형
'메타인지 코드카타' 카테고리의 다른 글
[C#] 부족한 금액 계산하기 (0) | 2023.12.20 |
---|---|
[C#] 문자열 내림차순으로 배치하기 (0) | 2023.12.20 |
[C#] 콜라츠 추측 (수정 완) (0) | 2023.12.04 |
[C#] 두 정수 사이의 합 (0) | 2023.12.01 |
[C#] 하샤드 수 (2) | 2023.11.30 |