실력 향상 일지/프로그래머스

[Java] 가운데 글자 가져오기

juniordev 2022. 10. 28. 22:42

문제 설명 및 입출력 예시

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

제한사항

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

 

입출력 예

s return
"abcde" c
"qwer" "we"

코드 & 풀이과정

class Solution {
    public String solution(String s) {
        String answer = "";
        String ans[] = s.split("");
        // System.out.println("ans.length / 2 = " + ans.length / 2);
        if(ans.length % 2 != 0){
            answer = ans[ans.length / 2];
        }
        else{
            answer = ans[ans.length/2 -1] + ans[ans.length / 2];
        }
        return answer;
    }
}

s를 글자별로 쪼개서 배열화하는 split을 사용해 쪼개 줬다.

만약 s의 글자 수가 홀수라면 String answer은 ans배열의 중간을 지정해 뽑아온다.

s의 글자수가 짝수라면 String answer은 ans배열의 중간 바로 앞의 것과 중간 것을 뽑아온다.

 

Q. ans.length가 홀수인데 /2를 해줘도 되나요??

A. 어차피 int형이어서 소수점 이하의 수는 모두 반올림되어 출력되므로 상관이 없다.


 

회고

맨 처음에 문제를 봤을 때 가운데를 어떤 식으로 풀어줘야 할지 고민해보고 System.out.println을 이용해 계속 비교해보면서 풀었다.


💻프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12903

 

'실력 향상 일지 > 프로그래머스' 카테고리의 다른 글

[Java] 문자열 내림차순으로 배치하기  (0) 2022.10.31
[Java] 내적  (0) 2022.10.30
[Java] 수박수박수박수박수박수?  (0) 2022.10.27
[Java] 없는 숫자 더하기  (0) 2022.10.26
[Java] 음양 더하기  (0) 2022.10.25