오늘 풀어본 문제는 프로그래머스의 가운데 글자 가져오기입니다.
1. 문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
2. 나의 코드
class Solution {
public String solution(String s) {
int len = s.length();
String answer = "";
if(isEven(len)){
int start = s.length()/2 -1;
answer = s.substring(start, start+2);
} else{
int start = s.length()/2;
answer = s.substring(start, start+1);
}
return answer;
}
public boolean isEven(int num){
if(num%2 == 0)
return true;
else
return false;
}
}
짝수일때와 홀수일때를 나눠서 빠르게 시작 지점을 파악하였습니다. String.substring(start.end)를 사용했는데 여기서 주의할 점으로는 end 전까지의 문자열을 잘라서 return해준다는 것입니다.
3. 다른 사람의 풀이
class StringExercise{
String getMiddle(String word){
return word.substring((word.length()-1) / 2, word.length()/2 + 1);
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args){
StringExercise se = new StringExercise();
System.out.println(se.getMiddle("power"));
}
}
하지만 이렇게 짝수 홀수를 나누지 않더라도 한줄로 해결할 수 있습니다.
'Algorithm' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 프린트 (0) | 2020.04.01 |
---|---|
[알고리즘] 프로그래머스 - 주식가격 (0) | 2020.04.01 |
[알고리즘] 프로그래머스 - K번째수 (0) | 2020.03.30 |
[알고리즘] 프로그래머스 - 완주하지 못한 선수 (0) | 2020.03.26 |
[leetcode-680] Valid Palindrome II (0) | 2020.01.09 |