날쌘 개발자

가운데 글자 가져오기 본문

코딩테스트/프로그래머스

가운데 글자 가져오기

훈식이 2022. 3. 27. 16:29
728x90
  • 가운데 글자 가져오기
문제 설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.


func solution(_ s:String) -> String {
    if s.count % 2 == 0 { // 짝수
        let leng:Int = s.count / 2 - 1
        return String(s[s.index(s.startIndex, offsetBy: leng)]) + String(s[s.index(s.startIndex, offsetBy: leng+1)])
    } else { // 홀수
        let leng:Int = s.count / 2
        return String(s[s.index(s.startIndex, offsetBy: leng)])
    }
}

문자열 인덱스를 사용하면 되는 간단한 문제..
지만 문자열 자체가 배열이란 점을 생각해서

func solution(_ s:String) -> String {
    if Array(s).count % 2 == 0 {
        return String(Array(s)[(s.count/2)-1...(s.count/2)])
    }else{
        return String(Array(s)[s.count/2])
    }
}

이렇게 더 간단하게 풀 수 있었다는 것도 배웠다.

728x90

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

약수의 개수와 덧셈  (0) 2022.04.06
문자열 내 p와 y의 개수  (0) 2022.04.01
두 개 뽑아서 더하기  (0) 2022.03.27
소수 만들기  (0) 2022.03.13
키패드 누르기  (0) 2022.02.28