본문 바로가기
프로그래머스 Algorithm

[프로그래머스] 가운데 글자 가져오기 Kotlin

by Echung 2023. 11. 22.

안녕하세요. 이번에는 프로그래머스 가운데 글자 가져오기를 풀어보려고 합니다.

 

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

 

프로그래머스

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

programmers.co.kr

 

Problem

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

 

[제한 사항]

s는 길이가 1 이상, 100 이하인 스트링입니다.

사진 1. 입출력 예

Solution

class Solution {
    fun solution(s: String): String {
        var answer = ""

        var length: Int = s.length / 2;
        if(s.length % 2 != 0) {
            answer = s.substring(length, length + 1) 
        } else {
            answer = s.substring(length - 1, length + 1)
        }

        return answer
    }
}

 이번 문제는 s의 길이가 홀수와 짝수 일 때를 구분하여 가운데 글자를 표현하는 방식으로 문제에 접근하여 풀어보았다.

 

1. 다른 사람 코드

class Solution {
    fun solution(s: String) = s.slice(((s.length - 1) / 2)..(s.length / 2))
}

 나의 코드와 다르게 한줄로 코드를 작성한 분이 있어서 공부용으로 첨부해 본다. 처음 s.length - 1을 하고 2를 나누면 홀수와 짝수를 체크하는 코드를 만들 필요가 없었다. 그리고 slicesubstring은 slice는 범위연산자('..')을 사용해서 끝 인덱스가 포함되는데 substring은 문자열의 시작 및 끝 인덱스 범위를 지정해 주면 끝 인덱스가 포함되지 않으니 이 부분을 주의해서 사용하면 될 것이다.


Performance

1. 내가 작성한 코드 2. 다른 사람 코드
반응형