Where who wants to meet someone

가운데 글자 가져오기 본문

프로그래머스 알고리즘 문제 기록/Lv. 1

가운데 글자 가져오기

Lust3r 2024. 5. 14. 12:19
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12903

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

내 답안 / 다른 사람들의 답안

func solution(_ s:String) -> String {
    return s.count % 2 == 0 ? s.map { String($0) }[s.count / 2 - 1...s.count / 2].joined() : s.map { String($0) }[s.count / 2]
}

- 짝수라면 문자를 배열로 만들어 가운데 두 인덱스의 항목을 합쳐 반환, 홀수라면 가운데 인덱스(0부터 시작이기에 +1을 하지 않아도 됨)의 글자를 반환했다.

 

// 풀이 1
func solution(_ s:String) -> String {

    return String(s[String.Index(encodedOffset: (s.count-1)/2)...String.Index(encodedOffset: s.count/2)])
}

// 풀이 2
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])
    }
}

- String.Index를 사용한 풀이와 if문을 사용한 풀이

 

점수: +1

'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글

내적  (0) 2024.05.15
수박수박수박수박수박수?  (0) 2024.05.15
제일 작은 수 제거하기  (0) 2024.05.14
핸드폰 번호 가리기  (0) 2024.05.14
콜라츠 추측  (0) 2024.05.14