728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12903
Code
class Solution {
fun solution(s: String): String = s.slice(s.length - s.length/2 - 1 .. s.length/2)
}
다들 처음으로 생각하는 아이디어는 if-else문을 사용해서 길이의 홀수 / 짝수에 따른 처리 방법일 것이다.
이때 주목해야 하는 것은 두가지다.
int타입의 나누기 연산 방식
4/2 = 2이지만
5/2 = 2이다.
즉, 나머지는 버려지는 것이다.
배열의 시작 주소
시작점은 0이기 때문에 절반의 길이를 구했다고 해도 1을 빼줘야 한다.
그래서 총 길이에서 절반의 길이를 빼고 1을 추가로 뺀 부분부터 절반의 길이까지 잘라내주면 된다.
왜 이렇게 될까?
홀수일때
5 / 2 = 2
2 .. 2
짝수일때
4 / 2 = 2
1 .. 2
이런식으로 진행할 수 있다.
728x90