{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉문자열〉출입 태그 대칭 구간← 이전다음 →
#003 · 문자열쉬움문자열 정제,대칭 판정

출입 태그 대칭 구간

문제

사옥 출입 게이트는 카드를 찍을 때마다 태그 문자열을 한 줄 남깁니다. 이 문자열에는 태그값 외에 구분 기호(-, :, 공백, 그 밖의 기호)가 섞여 있습니다.

로그 문자열 log에서 영문자와 숫자만 남기고, 영문자는 모두 대문자로 바꾼 것을 정제 코드라고 부릅니다.

보안팀은 정제 코드의 접두사(맨 앞부터 이어지는 부분 문자열) 중 앞에서 읽으나 뒤에서 읽으나 같은 것 가운데 가장 긴 것의 길이를 알고 싶어 합니다. 그 길이를 반환하는 solution(log) 함수를 작성하세요.

정제 코드가 비어 있으면 0을 반환합니다.

예시

log = "A1-2b B2 1a"
→ 8
  정제 코드는 "A12BB21A"이고, 전체가 대칭이므로 길이 8이 답이다.
 
log = "gate: XY-9"
→ 1
  정제 코드는 "GATEXY9". 길이 2 이상인 접두사는 모두 대칭이 아니고,
  길이 1인 "G"만 대칭이므로 답은 1이다.
 
log = "ab-BA cd"
→ 4
  정제 코드는 "ABBACD". 접두사 "ABBA"가 대칭이고, "ABBAC"와 "ABBACD"는 아니다.
 
log = "!!!"
→ 0
  남는 글자가 없으므로 0이다.

제약 조건

  • 1 ≤ log.length ≤ 2,000
  • log는 출력 가능한 ASCII 문자로만 구성됩니다
  • 대소문자는 구분하지 않습니다 (a와 A는 같은 글자로 봅니다)
  • 숫자는 그대로 비교 대상에 포함됩니다

시간 복잡도 목표: O(N²)

테스트 케이스

예시 1: "A12BB21A" 전체가 대칭
입력: log = "A1-2b B2 1a"
출력: 8
예시 2: "GATEXY9" - 길이 1 접두사만 대칭
입력: log = "gate: XY-9"
출력: 1
예시 3: "ABBACD" - 접두사 "ABBA"
입력: log = "ab-BA cd"
출력: 4
예시 4: 정제 후 남는 글자가 없음
입력: log = "!!!"
출력: 0
숫자만 남는 경우 "77"
입력: log = "7 7"
출력: 2
"LEVEL9" - 홀수 길이 대칭 접두사
입력: log = "Level-9"
출력: 5
엣지: 글자 한 개
입력: log = "x"
출력: 1
solution.ts
에디터 로딩 중…

▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.