본문 바로가기

IT. Programming

Programmers. 가운데 글자 가져오기

* 해답 아래 더보기에 Java 코드 기재 *

  • 목차
    • 가운데 글자 가져오기
      • 문제설명
      • 제한사항
      • 입출력 예
      • 기본 상태
      • 풀이에 필요한 조건
      • 해답 +더보기
    • 음양 더하기
      • 절차 동일

가운데 글자 가져오기

[문제 설명]

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

 

[제한사항]

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

[입출력 예]

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

 

[기본 상태]

class Solution {
    public String solution(String s) {
        String answer = "";
        return answer;
    }
}

 

[풀이에 필요한 조건]

문자열의 길이를 저장할 int형 변수 s_len 가 필요하고,

입력받는 문자열의 길이를 계산해줄 .length() 함수를 통해 입력받는 s 문자열의 길이를 계산하여 s_len에 저장.

 

입력받은 문자열의 길이가 홀수인지 짝수인지 2로 나누었을 때 나머지를 구하여 판별.

s_len%2 ==1 👉 홀수 

s_len%2 == 0 👉짝수

 

입력받는 문자열을 char 형태의 배열로 변환하기 위해 String.toCharArray() 함수를 이용.

참고 https://velog.io/@uhan2/java-String.toCharArray-%EC%82%AC%EC%9A%A9%EB%B2%95

 

s 문자열의 길이가 홀수일 때, 길이/2 를 한 값의 문자열이 반환된다.

ex) str="abcde" 👉 arr[] = {"a", "b", "c", "d", "e"}  👉 arr[2] = {"c"}

짝수일 때는 길이/2 를 한 값과, 그 이전 배열을 가져와야한다.

ex) str="qwer" 👉 arr[] = {"q", "w", "e", "r"} 👉 arr[1] = {"w"}, arr[2] = {"e"}

 

빈 문자열 answer에 문자열 s를 char 형식으로 변환한 배열의 중간값을 저장해준다.

ex) answer += s.toCharArray()[s_len / 2];

     answer += s.toCharArray()[s_len / 2 -1] + "" + s.toCharArray()[s_len / 2];

 

[해답]

class Solution {
    public String solution(String s) {
     int s_len = s.length();
     String answer = "";
    
     if(s_len % 2 == 1) {
     answer += s.toCharArray()[s_len / 2];
     }
     else {
     answer += s.toCharArray()[s_len / 2 -1] + "" + s.toCharArray()[s_len / 2];
     }
     return answer;    
    }
}

 

더보기
//해답
class Solution {
public String solution(String s) {
int s_len = s.length();
String answer = "";

if(s_len % 2 == 1) {
answer += s.toCharArray()[s_len / 2];
}
else {
answer += s.toCharArray()[s_len / 2 -1] + "" + s.toCharArray()[s_len / 2];
}
return answer;
}
}

//메인
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
String str1="abcde";
String result1=sol.solution(str1);

String str2="qwer";
String result2=sol.solution(str2);

System.out.println(result1);
System.out.println(result2);
}
}

 

'IT. Programming' 카테고리의 다른 글

Programmers. x만큼 간격이 있는 n개의 숫자  (0) 2021.11.08
TIL  (0) 2021.11.08
Programmers. 음양 더하기  (0) 2021.11.08
2주 1일차 알고리즘 문제풀이(개인)  (0) 2021.11.08
항해 99 1주차  (0) 2021.11.07