문제 설명
단어 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