예약 코드에서 날짜 구간 꺼내기
자바스크립트 코딩테스트 문제로 string-substring-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.
문제 설명
예약 코드 안에서 날짜가 들어 있는 고정 구간만 잘라 반환하는 문제입니다.
오늘의 메서드
- 오늘 배울 메서드는
String.substring()입니다. - 문자열에서 시작 위치와 끝 위치를 정해 필요한 일부 구간만 꺼낼 때 사용합니다.
메서드 설명
substring()은 문자열의 일부를 잘라 새 문자열로 반환합니다.
첫 번째 인덱스부터 시작하고, 두 번째 인덱스 바로 앞 글자까지 가져옵니다. 원본 문자열은 바뀌지 않습니다.
기본 문법
str.substring(startIndex, endIndex)
startIndex: 자르기 시작할 인덱스입니다.endIndex: 자르기를 멈출 인덱스입니다. 이 위치의 글자는 결과에 포함되지 않습니다.- 반환값은 지정한 구간만 담은 새 문자열입니다.
사용 예시
"RSV-2026-06-29-A1".substring(4, 14); // "2026-06-29"
"HELLO".substring(1, 4); // "ELL"
주의할 점
- 문자열 인덱스는 0부터 시작합니다.
- 두 번째 인덱스 위치의 글자는 포함되지 않습니다.
substring()은 원본 문자열을 직접 수정하지 않습니다.slice()와 비슷하지만 음수 인덱스를 다루는 방식이 다릅니다. 이 문제에서는 양수 인덱스만 사용합니다.
제한사항
code는 항상"RSV-YYYY-MM-DD-XX"형식의 문자열입니다.- 날짜 구간은 항상 인덱스 4에서 시작해 인덱스 14 바로 앞에서 끝납니다.
- 날짜는 그대로 문자열로 반환합니다.
- 입력 문자열의 길이는 항상 17입니다.
예시
- 입력:
"RSV-2026-06-29-A1"-> 출력:"2026-06-29" - 입력:
"RSV-2025-12-03-B7"-> 출력:"2025-12-03" - 입력:
"RSV-2030-01-01-Z9"-> 출력:"2030-01-01" - 입력:
"RSV-2024-02-29-L2"-> 출력:"2024-02-29"
힌트
"RSV-"는 4글자이므로 날짜는 인덱스 4부터 시작합니다.- 날짜 문자열
"YYYY-MM-DD"는 10글자입니다. - 끝 인덱스는 포함되지 않으므로
4 + 10인14를 넣으면 됩니다.
해설
이 문제는 문자열에서 위치가 정해진 일부 구간을 꺼내는 연습입니다.
예약 코드는 항상 같은 형식이므로 날짜가 어디서 시작하고 어디서 끝나는지 매번 계산할 필요가 없습니다. 앞의 "RSV-" 다음부터 날짜가 시작하므로 시작 인덱스는 4입니다. 날짜는 YYYY-MM-DD 형식으로 10글자이기 때문에 끝 인덱스는 14가 됩니다.
function extractReservationDateSegment(code) {
return code.substring(4, 14);
}
직접 반복문으로 글자를 하나씩 모을 수도 있지만, substring()을 쓰면 “문자열의 정해진 구간을 꺼낸다”는 의도가 더 분명하게 드러납니다.
코드 작성
starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.
JavaScript
에디터 로딩 중...
커스텀 테스트
함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]
아직 실행하지 않았습니다.
실행 결과
아직 실행하지 않았습니다.
예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.
댓글
문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.