728x90
Q. 문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다. 재한 사항
- s는 길이가 1 이상, 100 이하인 스트링입니다.
1> 풀이 방법
public class Solution {
public static String solution(String s){
String result = "";
if(s.length() % 2 == 0 ){ //짝수
result += s.charAt(s.length() / 2 -1);
result += s.charAt(s.length() / 2);
}
else{
result += s.charAt(s.length() / 2);
}
return result;
}
파라미터 s의 길이에 따라서 케이스를 두 가지로 분류하였고(짝수, 홀수) String의 메서드 중에 charAt 메서드로 특정 index 요소를 뽑아서
결과값에 저장하였다. java 특성 중 문자열과 덧셈으로 int, char 타입을 더하면 문자열의 합처럼 자동으로 형 변환된다는 점을 이용했다.
2> 풀이 답변 (프로그래머스 우수답변 등재)
class Solution{
String getMiddle(String word){
return word.substring((word.length()-1) / 2, word.length()/2 + 1);
}
이 풀이만 유독 댓글이 많이 달려있었고, 나 또한 이 풀이를 처음 보고 느낀 점은 "와... 똑똑하다 " 였다.
별다른 내용 없이 바로 return 값으로 substring을 사용한 점이 신선하게 느껴졌다.
728x90
'코딩 테스트' 카테고리의 다른 글
프로그래머스 코딩 테스트 연습문제: 타겟 넘버 (DFS/BFS) (2) | 2019.10.19 |
---|---|
프로그래머스 코딩테스트 연습: 문자열 내 마음대로 정렬하기 (0) | 2019.09.01 |
프로그래머스 코딩테스트 연습: 나누어 떨어지는 숫자 배열 (0) | 2019.08.30 |
프로그래머스 코딩테스트 연습: 같은 숫자는 싫어 (0) | 2019.08.29 |
프로그래머스 코딩테스트 연습 : 2016년 (0) | 2019.08.27 |