728x90
반응형
프로그래머스 가운데 글자 가져오기 - Java 풀이
URL
programmers.co.kr/learn/courses/30/lessons/12903
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
성공 코드
class Solution {
public String solution(String s) {
String answer = "";
if(s.length()%2 == 0) {
int temp = s.length()/2;
answer = s.substring(temp-1, temp+1);
}else {
int temp = s.length()/2;
answer = s.substring(temp, temp+1);
}
return answer;
}
}
① 먼저 문자열 개수가 짝수는 2글자 홀수는 1글자를 return하라고 되어 있으니 s.length()
를 2로 나눈 나머지 값이 0인 경우(짝수)와 그렇지 않은 경우로 나눕니다. if(s.length()%2 == 0) { ... } else{ ... }
② 짝수인 경우 홀수인 경우 모두 s.length()/2;
를 하였을 때 /
는 몫만 return 되기 때문에 나누어 홀수인경우는 내림 되어 값을 temp에 참조합니다. ex) 5/2 = 2
③ 이후 substring()
메서드를 활용하여 짝수인 경우는 s.substring(temp-1, temp+1);
④ 홀수인 경우는 s.subString(temp, temp+1);
을하여 answer에 참조 저장합니다.
다른 사람 코드
class Solution {
public String solution(String s) {
return s.substring((s.length()-1) / 2, s.length()/2 + 1);
}
이 분꺼 보고 넋이 나갔습니다. 난 뭘했지.... 하고.......
홀수 짝수 구분할 것도 없었네요 바로 substring( (문자열 길이 - 1) / 2, 문자열 길이 / 2 + 1);
알고리즘 고수의 길은 멀고도 험할 예정입니다. 화이팅입니다 ( ' ^ ' ) !
728x90
반응형
'개발 기록 > 코딩테스트 풀이 기록' 카테고리의 다른 글
[프로그래머스] 문자열 내림차순/오름차순으로 정렬하기 (Java) - sort(), reverse() (1) | 2021.03.26 |
---|---|
[알고리즘, 코딩 테스트] 문자열 내 p와 y의 개수 (프로그래머스) - Java (0) | 2021.03.25 |
[알고리즘, 코딩 테스트] 문자열 다루기 기본 Integer.parseInt(), try catch - Java / 프로그래머스 (1) | 2021.03.25 |
[알고리즘, 코딩 테스트] 수박수박수박수? (프로그래머스) - Java (0) | 2021.03.25 |
[알고리즘, 코딩 테스트] 프로그래머스 서울에서 김서방 찾기 (프로그래머스) - Java (1) | 2021.03.23 |