문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
· s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s |
return |
“abcde” |
“c” |
“qwer" |
“we” |
- 풀이 과정 -
1. 문자열 매개변수 s 길이에서 2로 나누어 중간 위치 값을 저장 (length 4 -> index = 2)
2. 문자열 매개변수 s 길이의 짝수 여부 확인을 위해 조건문(if) 사용
3. 2로 나눈 나머지 값이 0면 짝수이기에 1번 과정에서 구했던 index값(중간 위치)에 해당하는 문자의 위치와 index-1위치의 문자를 문자열로 더해서 리턴
4. 2로 나눈 나머지 값이 0이 아니면 홀수 이기에 1번 과정에서 구했던 index값(중간 위치)에 해당하는 문자만 반환
- 풀이 코드1 -
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class Solution {
public String solution(String s) {
String answer = "";
int index = s.length()/2;
if(s.length()%2==0) {
answer+=s.charAt(index-1);
answer+=s.charAt(index);
} else {
answer+=s.charAt(index);
}
return answer;
}
public static void main(String[] args) {
Solution sol = new Solution();
String str = "abcde";
System.out.println(sol.solution(str));
}
}
|
- 풀이 코드2 -
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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()/2, s.length()/2+1);
}
return answer;
}
public static void main(String[] args) {
Solution sol = new Solution();
String str = "qwer";
System.out.println(sol.solution(str));
}
}
|
- 다른 분 풀이 -
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Solution {
public String solution(String s) {
return s.substring((s.length()-1)/2,s.length()/2+1);
}
public static void main(String[] args) {
Solution sol = new Solution();
String str = "abcde";
System.out.println(sol.solution(str));
}
}
|
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level 1 – 서울에서 김서방 찾기 (0) | 2021.01.27 |
---|---|
[프로그래머스] Level 1 – 나누어 떨어지는 숫자 배열 (0) | 2021.01.27 |
[프로그래머스] Level 1 – 수박수박수박수박수박수? (0) | 2021.01.27 |
[프로그래머스] Level 1 – K번째수 (0) | 2021.01.27 |
[프로그래머스] Level 1 – 완주하지 못한 선수 (0) | 2021.01.27 |