풀이 1) string 매개 변수 s의 길이 - 1로 index의 총 길이를 구한 후,
- index가 짝수일 경우(실질적으로 문자열의 길이가 홀수)
s[size / 2].ToString()
으로 문자열에서 문자를 추출하고 반환형이
string이기 때문에 다시 ToString()으로 문자열로 만들어준다.
- index가 홀수일 경우(실질적으로 문자열의 길이가 짝수)
s[size / 2].ToString() + s[size / 2 + 1].ToString()
으로 문자열에서 두 개의 문자를 추출하고 반환형이
string이기 때문에 다시 ToString()으로 문자열로 만든 후
'+' 연결 연산자로 두 문자열을 붙여준다.
using System;
public class Solution {
public string solution(string s) {
int size = s.Length - 1;
return size % 2 == 0 ? s[size / 2].ToString() : s[size / 2].ToString() + s[size / 2 + 1].ToString();
}
}
풀이 2) string 매개 변수 s의 길이 - 1로 index의 총 길이를 구한 후
- index가 짝수일 경우(실질적으로 문자열의 길이가 홀수)
s.Substring(size / 2, 1)을 반환해주고,
- index가 홀수일 경우(실질적으로 문자열의 길이가 짝수)
s.Substring(size / 2, 2)을 반환해준다.
위의 두 식을 정리하면
using System;
public class Solution {
public string solution(string s) {
int size = s.Length - 1;
return s.Substring(size / 2, size % 2 == 0 ? 1 : 2);
}
}
위와 같이 코드가 작성 된다.
풀이 1)이 형변환이 자주 이뤄지기 때문에 풀이 2) 보다 더 많은 수행시간을 요구하는 것으로 추측된다.
'문제 풀기 > C#' 카테고리의 다른 글
32. 내적 (0) | 2025.01.20 |
---|---|
31. 수박(string.Concat() 함수, Enumerable.Repeat 함수) (0) | 2025.01.17 |
29.제일 작은 수 제거하기 (0) | 2025.01.17 |
28. 없는 숫자 더하기 (0) | 2025.01.17 |
27. 핸드폰 번호 가리기 (0) | 2025.01.16 |