가운데 글자 가져오기_Java

컴투루·2022년 6월 28일
0

프로그래머스 Lv.1

목록 보기
24/38

연습문제

🔥 가운데 글자 가져오기 🔥


👀 문제

단어 s의 가운데 글자를 반환하는 함수 solution을 완성해보자
단, 단어의 길이가 짝수인 경우에는 가운데 두 글자를 반환하자


✔️ 조건

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

👩‍💻 입력 & 🧙 출력

sreturn
"abcde""c"
"qwer""we"

🙋‍♀️ 첫번째 풀이

import java.util.*;

class Solution {
    public String solution(String s) {
        String[] arr = s.split("");
        String answer = "";
        
        double f = (arr.length/2.0);
        f = Math.round(f);
        
        if((int)f%2==0){//짝수라면
             answer = arr[(int)f-1] + arr[(int)f];
        }else{
           answer = arr[(int)f-1];    
        }
        
        return answer;
    }
}

굳이 배열로 가져왔어! 왜!
이 코드는 오류가 발생한다.

🙋‍♀️ 두번째 풀이

import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        
        int n = s.length()/2;
        
        if(s.length()%2==0){ //짝수라면
            answer = s.substring(n-1,n+1);
        }else{
            answer = s.substring(n,n+1);
        }
        
        return answer;
    }
}
  1. s의 길이를 2로 나눈 값을 int형 n에 대입
  2. s의 길이가 짝수라면 substring을 이용해서 n-1부터 n+1미만까지를 answer에 대입
  3. 짝수가 아니라면 n부터 n+1미만까지를 answer에 대입

굳이 배열로 만들 필요도 double로 받아서 반올림할 필요도 없는 코드✨


👏 마무리

이번 문제를 마지막으로 레벨1의 연습문제를 모두 풀었다!!!

profile
맘 먹으면 못할 게 없지

0개의 댓글