안녕하세요. 이번에는 프로그래머스 가운데 글자 가져오기를 풀어보려고 합니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12903
Problem
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다.
[제한 사항]
○ s는 길이가 1 이상, 100 이하인 스트링입니다.
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를 나누면 홀수와 짝수를 체크하는 코드를 만들 필요가 없었다. 그리고 slice와 substring은 slice는 범위연산자('..')을 사용해서 끝 인덱스가 포함되는데 substring은 문자열의 시작 및 끝 인덱스 범위를 지정해 주면 끝 인덱스가 포함되지 않으니 이 부분을 주의해서 사용하면 될 것이다.
Performance
1. 내가 작성한 코드 | 2. 다른 사람 코드 |
반응형
'프로그래머스 Algorithm' 카테고리의 다른 글
[프로그래머스] 내적 Kotlin (2) | 2023.11.24 |
---|---|
[프로그래머스] 수박수박수박수박수박수? Kotlin (0) | 2023.11.23 |
[프로그래머스] 제일 작은 수 제거하기 Kotlin (0) | 2023.11.21 |
[프로그래머스] 핸드폰 번호 가리기 Kotlin (0) | 2023.11.20 |
[프로그래머스] 나누어 떨어지는 숫자 배열 Kotlin (2) | 2023.11.19 |