728x90
반응형
코딩테스트 연습 - 가운데 글자 가져오기
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret
programmers.co.kr
문제 설명 |
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. |
제한 조건 |
|
입출력 예 |
|
s | return |
"abcde" | "c" |
"qwer" | "we" |
나의 풀이
1. 입력받은 문자열 s의 크기와 절반 값을 저장하는 변수 생성
2. 문자열의 길이가 짝수이면 가운데 두개의 문자 출력
3. 문자열의 길이가 홀수이면 가운데 하나의 문자 출력
public String solution(String s) {
String answer = "";
/* 입력받은 문자열 s의 크기와 절반 값을 저장하는 변수 생성 */
int size = s.length();
int n = size/2;
/* 문자열의 길이가 짝수이면 가운데 두개의 문자 출력*/
if(size % 2 == 0)
answer = s.substring(n-1,n+1);
/* 문자열의 길이가 홀수이면 가운데 하나의 문자 출력*/
else
answer = s.substring(n,n+1);
return answer;
}
JAVA1 코드 정리
class StringExercise{
String getMiddle(String word){
return word.substring((word.length()-1) / 2, word.length()/2 + 1);
}
}
굳이 짝수/홀수로 나누지 않고 substring 안에 바로 넣음 때문에 substring의 시작 지점을 2로 나누기 전 word.length()-1을 해줌! 훨씬 깔끔한 소스 코드가 나옴 |
JAVA2 코드 정리
String getMiddle(String word){
int length = word.length();
int mid = length / 2;
return length%2==0 ? word.substring(mid-1, mid+1) : word.substring(mid, mid+1) ;
}
위 코드보다 이렇게 삼항연산자로 만드니까 훨씬 가독성이 높다. |
728x90
반응형
'프로그래머스 > Java | Level1' 카테고리의 다른 글
[프로그래머스/Java]Level1 - [1차] 비밀지도 (0) | 2021.09.13 |
---|---|
[프로그래머스/Java]Level1 - 소수 만들기 (0) | 2021.08.25 |
[프로그래머스/Java]Level1 - 실패율 (0) | 2021.08.16 |
[프로그래머스/Java]Level1 - 두 개 뽑아서 더하기 (0) | 2021.01.25 |
[프로그래머스/Java]Level1 - 크레인 인형뽑기 게임 (0) | 2021.01.25 |