안녕하세요, 작가 J입니다. 이번에는 단어의 가운데 글자를 구하는 메소드를 작성해 보겠습니다. 이 예제는 문자열을 다루는 방법과 조건문을 활용하여 원하는 부분을 추출하는 방법을 익히는 데 도움이 될 것입니다. 비전공자도 쉽게 이해할 수 있도록 최대한 간단하게 설명하겠습니다.
[Java Festival Bonus 02] 가운데 글자 구하기
getMiddle메소드는 하나의 단어를 입력 받습니다.
단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요.
단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다.
예를 들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다.
코드 풀이
이번 문제를 해결하기 위한 자바 코드를 두 가지 방식으로 작성해 보겠습니다. 하나는 split 함수를 이용한 방식이고, 다른 하나는 substring 함수를 이용한 방식입니다.
1. split 함수를 이용한 방식
package Bonus;
public class Bonus02 {
public static void main(String[] args) {
System.out.println(getMiddle("test")); // 예시: 짝수 길이 단어
System.out.println(getMiddle("power")); // 예시: 홀수 길이 단어
}
private static String getMiddle(String string) {
String[] str = string.split("");
String result = "";
if (str.length % 2 == 0) {
result = str[str.length / 2 - 1] + str[str.length / 2];
} else {
result = str[str.length / 2];
}
return result;
}
}
split 함수
split 함수는 문자열을 특정 구분자로 나누어 배열로 반환합니다. 여기서는 각 문자를 개별 요소로 나누기 위해 빈 문자열을 구분자로 사용합니다.
예를 들어 word.split(""): 문자열을 빈 문자열로 나누어 각 문자를 개별 요소로 갖는 배열을 반환합니다.
- 결과: ["t", "e", "s", "t"]
- String[] str = string.split(""); : 문자열을 개별 문자로 나누어 배열로 저장합니다.
- if (str.length % 2 == 0): 단어의 길이가 짝수인 경우
- result = str[str.length / 2 - 1] + str[str.length / 2];: 가운데 두 글자를 결합하여 반환합니다.
- else: 단어의 길이가 홀수인 경우
- result = str[str.length / 2];: 가운데 한 글자를 반환합니다.
2. substring 함수를 이용한 방식
package Bonus;
public class Bonus02 {
public static void main(String[] args) {
System.out.println(getMiddle("test")); // 예시: 짝수 길이 단어
System.out.println(getMiddle("power")); // 예시: 홀수 길이 단어
}
private static String getMiddle(String string) {
int length = string.length();
int middle = length / 2;
if (length % 2 == 0) {
// 짝수 길이일 경우 가운데 두 글자 반환
return string.substring(middle - 1, middle + 1);
} else {
// 홀수 길이일 경우 가운데 한 글자 반환
return string.substring(middle, middle + 1);
}
}
}
substring 함수 설명
substring 함수는 문자열에서 특정 부분을 추출할 때 사용됩니다. substring(beginIndex, endIndex) 형태로 사용하며, beginIndex부터 endIndex 전까지의 문자열을 반환합니다.
예를 들어 str.substring(7, 12); : 인덱스 7부터 11까지의 문자열을 반환합니다. (인덱스 12는 포함되지 않음)
- int length = string.length();: 단어의 길이를 구합니다.
- int middle = length / 2;: 단어의 가운데 인덱스를 계산합니다.
- if (length % 2 == 0): 단어의 길이가 짝수인 경우
- return string.substring(middle - 1, middle + 1);: 가운데 두 글자를 반환합니다.
- else: 단어의 길이가 홀수인 경우
- return string.substring(middle, middle + 1);: 가운데 한 글자를 반환합니다.
마무리
이번 예제에서는 단어의 가운데 글자를 구하는 방법을 배웠습니다. 이를 통해 문자열을 다루는 기본적인 방법과 조건문을 활용하여 원하는 부분을 추출하는 방법을 익힐 수 있었습니다.
프로그래밍에서 문자열을 다루는 능력은 매우 중요합니다. 특히 이번 예제처럼 간단한 문제를 해결하면서도 문자열과 조건문의 사용법을 익히는 것은 실무에서도 유용하게 쓰일 수 있습니다. 다양한 문제를 풀어보며 실력을 키워나가길 바랍니다. 감사합니다!
'프로그래밍 기초 > Java Festival' 카테고리의 다른 글
[Java Festival] 14. 스네이크 배열 출력하기 (0) | 2024.06.29 |
---|---|
[Java Festival] 13. 학생 성적 정보 분석하기 (0) | 2024.06.26 |
[Java Festival] 12. N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하기 (0) | 2024.06.25 |
[Java Festival] 11. 두 개의 정수로 나누어지는지 판별하는 메소드 작성하기 (0) | 2024.06.24 |
[Java Festival 번외] Scanner와 Random 객체, 그리고 close 메소드에 대해 알아보기 (0) | 2024.06.24 |