프로그래밍 문제 03. 가운데 글자 가져오기
2022. 9. 23. 16:38 - DoosanBaek
728x90
이 문제는 프로그래머스에서 제공된 문제를 풀이한 문제이며, 저작권은 프로그래머스에게 있습니다.
문제번호 3
문제설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면됩니다.
제한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
| s | return |
| "abcde" | "c" |
| "qwer" | "we" |
Solution.java
class Solution {
public String solution(String s) {
String answer = "";
int a = s.length() / 2;
// 단어 길이의 절반인 위치를 구해 변수 a 로 선언한다.
if(s.length() % 2 == 0) {
/**
인자로 주어진 string s의 길이를 구하여
단어의 길이가 짝수면
*/
answer += s.substring(a - 1, a + 1);
/**
sugstring(시작,끝)
짝수일때 중간은 짝수를 나눴을때 몫의 값이다.
하지만 인덱스 값은 0부터 시작하므로
몫값에서 -1을 한것이 시작이 위치다.
*/
} else {
// 홀수면
answer += s.substring(a, a+1);
/**
홀수일때 중간은 홀수를 나눴을때
몫의 값이 인덱스값의 중간이므로
그대로 시작위치가 된다.*/
}
return answer;
}
}
Solution03 코드 intellij에서 실행해서 출력값 확인해보기
public class Solution03 {
String solution3(String s) {
String answer = "";
int a = s.length() / 2;
// 단어 길이의 절반인 위치를 구해 변수 a 로 선언한다.
if (s.length() % 2 == 0) {
/**
인자로 주어진 string의 길이를 구하여
단어의 길이가 짝수면
*/
answer += s.substring(a - 1, a + 1);
/**
sugstring(시작,끝)
짝수일때 중간은 짝수를 나눴을때 몫의 값이다.
하지만 인덱스 값은 0부터 시작하므로
몫값에서 -1을 한것이 시작이 위치다.
*/
} else {
// 홀수면
answer += s.substring(a, a + 1);
/**
홀수일때 중간은 홀수를 나눴을때
몫의 값이 인덱스값의 중간이므로
그대로 시작위치가 된다.*/
}
return answer;
}
public static void main(String[] args) {
// 테스트로 출력해보기 위한 코드
Solution03 se = new Solution03();
System.out.println(se.solution3("doosan"));
}
// doosan의 가운데 글자인 os가 출력된다.
}
substring을 사용하여 문자열의 가운데 글자를 반환한다.
.stubstring은 문자열로 반환
.substring(시작위치,종료위치);
예시) String str = "abcdefg"
str.substring(2) // cdefg
str.substring(3,5) // de
str.substring(4,6) // ef
728x90
'알고리즘' 카테고리의 다른 글
| 프로그래밍 문제 09번 핸드폰 번호 가리기 (1) | 2022.09.24 |
|---|---|
| 프로그래밍 문제 08번 평균 구하기 (0) | 2022.09.24 |
| 프로그래밍 문제 07번 음양더하기 (0) | 2022.09.24 |
| 프로그래밍 문제 06. 없는 숫자 더하기 (4) | 2022.09.23 |
| 프로그래밍 문제 05. 문자열을 정수로 바꾸기 (0) | 2022.09.23 |
| 프로그래밍 문제04. 두정수 사이의 합 (1) | 2022.09.23 |
| 프로그래밍 문제 02. 짝수와 홀수 (0) | 2022.09.23 |
| 프로그래밍 문제 1. 직사각형 별 찍기 (1) | 2022.09.23 |