Paradox Simulation

728x90
반응형

코딩테스트 연습 - 가운데 글자 가져오기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr

 

다음은 문자열을 뽑아내는 알고리즘을 이용한 가운데 글자 반환 문제를 풀겠다.

 

가운데 글자 가져오기

 

문제 설명

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

재한사항
  • s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s return
"abcde" "c"
"qwer" "we"

 

저는 해당문제를 이렇게 풀었습니다.

  1. 문자열을 우선 2로 나눠서 나머지로 만들면 홀수와 짝수를 만들수있다.
  2. 짝수일 경우 2자리를 만들어야한다. 홀수일 경우 제일 가운데 1자리를 만들면 된다.
  3. String의 총 길이의 / 2를 하게 된다면 중간 값이 나오며, 짝수의 경우 가운데 두개를 나타내야 했기 때문에 String의 길이 / 2 이후 -1을 한번더 더해주었다. (abcd 라면 bc를 출력해야하고, 4글자의 2를 나누면 2이며 String으로 봤을때 0 1 2 3 의 순서를 가졌기 때문에 2번째는 c가 된다.)
class Solution {
    public String solution(String s) {
        String answer = "";
        if(s.length() % 2 ==0){
            answer = answer+s.charAt(s.length() / 2-1);
            answer = answer + s.charAt(s.length()/ 2);
        }
        else {
            answer = answer+s.charAt(s.length() / 2);
        }
        return answer;
    }
}

String.charAt을 이용하여 그 index에 해당하는 1글자를 가져오는 방식을 사용했다.

 

이전 2문제에 비해서 쉬운 난이도를 가지고 있어서 금방 풀 수 있었다.

 

 

정확성 테스트
테스트 1  통과 (11.17ms, 87.8MB)
테스트 2  통과 (12.26ms, 78.7MB)
테스트 3  통과 (10.61ms, 76MB)
테스트 4  통과 (12.10ms, 74.3MB)
테스트 5  통과 (10.72ms, 74.2MB)
테스트 6  통과 (12.27ms, 76.2MB)
테스트 7  통과 (15.55ms, 75.5MB)
테스트 8  통과 (11.76ms, 80.3MB)
테스트 9  통과 (15.53ms, 79.2MB)
테스트 10  통과 (13.38ms, 76.2MB)
테스트 11  통과 (11.04ms, 68.1MB)
테스트 12  통과 (8.96ms, 74.2MB)
테스트 13  통과 (9.22ms, 69.3MB)
테스트 14  통과 (12.48ms, 78.6MB)
테스트 15  통과 (10.73ms, 76.1MB)
테스트 16  통과 (12.32ms, 81.6MB)
채점 결과
정확성: 50.0
효율성: 0.0
합계: 50.0 / 50

 

 

또한 2문제를 40분이내로 풀게 되어 Level1 클리어 배지를 획득하게 되었다!

728x90
반응형
250x250
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band