728x90
코딩테스트 연습 - 가운데 글자 가져오기
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret
programmers.co.kr
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
뇌풀기 문제 수준.
라면 끓이는 시간이랑 비슷하게 걸렸다.
1차 제출
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Solution {
public String solution(String s) {
String answer = "";
if(s.length() % 2 == 0){
answer = s.substring((s.length()/2)-1, s.length()/2+1);
} else {
answer = s.substring(s.length() - (s.length()/2)-1, s.length() - (s.length()/2));
}
return answer;
}
}
|
cs |
채점 결과
1차 제출 후 빠른 시간안에 처리한게 좀 찜찜해서
그래서 조금 더 생각해 보고 다른 사람들의 풀이도 보다보니 이런 풀이가 있더라.
1
2
3
4
5
|
public void solution(String s) {
String answer = "";
answer = s.substring( (s.length() -1 ) / 2, ( s.length()/2 ) +1);
System.out.println(answer);
}
|
cs |
한줄 짜리 코드로 정말 깔끔하게 작성된 코드지만
전달받는 파라미터에 대해 유효성 검사가 추가가 되었으면 좋겠다는 생각에 수정을 거듭했다.
1
2
3
4
5
|
public void solution(String s) {
String answer = "";
if(!"".equals(s)) answer = s.substring( (s.length() -1 ) / 2, ( s.length()/2 ) +1);
System.out.println(answer);
}
|
cs |
이렇게 오늘은 두가지 방법으로 풀이를 해보았다.
728x90
'Programmers > Level1' 카테고리의 다른 글
[Programmers Level1] 두 개 뽑아서 더하기 정답 및 문제 풀이 (0) | 2021.05.02 |
---|---|
[Programmers Level1] 같은 숫자는 싫어 및 문제 풀이 (0) | 2021.05.01 |
[Programmers Level1] 문자열 내 p와 y의 개수 정답 및 문제 풀이 (0) | 2021.04.29 |
[Programmers Level1] 신규 아이디 추천 정답 및 풀이 설명 카카오 블라인드 공개채용 문제 (0) | 2021.04.28 |
[Programmers Level1] 모의고사 정답 및 풀이 설명 (0) | 2021.04.27 |