[알고리즘 / JS] 가운데 문자 출력
1. 문제
단어(문자열)이 주어지면, 해당 단어의 가운데 문자를 출력하는 프로그램을 작성하라.
단, 단어의 길이가 짝수일 경우 가운데 2개의 문자를 출력한다.
2. 입 / 출력
입력제한:
첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않습니다.
입력예제:
study
출력예제:
u
3. 알고리즘 풀이
- 입력받은 문자열의 중간 길이를 찾습니다.
string
의 내장 함수인substring(시작인덱스, 종료인덱스)
를 사용합니다.substring()
메소드는 string 객체의 시작 인덱스로부터 종료 인덱스 전까지 문자열의 부분 문자열을 반환합니다.
- 입력받은 문자열의 길이가 짝수일 때 / 홀수일 때를 구분하는 조건을 추가합니다.
- 짝수일 때는 substring(중간, 중간 + 1) 값을, 홀수일 때는 (중간 -1, 중간 + 1) 값을 출력합니다.
function solution(str) {
let answer;
// 1. 입력받은 문자열의 중간 길이 : int
let mid = Math.floor(str.length / 2);
// 2. 문자열의 길이가 홀수일 경우
if (str.length % 2 === 1) {
answer = str.substring(mid, mid + 1);
// 문자열의 길이가 짝수일 경우
} else {
answer = str.substring(mid - 1, mid + 1);
}
return answer;
};
solution("study")
4. 알고리즘 원리
string
의 내장함수인 substring()
을 제대로 사용할 수 있는지 확인하는 문제입니다.substring()
외에 substr()
메소드도 있습니다.
'Algorithm > 알고리즘' 카테고리의 다른 글
[알고리즘 / JS] 중복된 문자 제거 (0) | 2023.07.13 |
---|---|
[알고리즘 / JS] 자동차 10부제 (0) | 2023.07.13 |