{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉해시〉문자열 압축 (Run-Length Encoding)← 이전다음 →
#075 · 해시쉬움문자열 / 카운팅

문자열 압축 (Run-Length Encoding)

문제

영문 소문자로 이루어진 문자열 s 가 주어집니다. "연속해서 같은 문자가 등장하는 구간" 을 (문자 + 등장 횟수) 형태로 압축한 문자열을 반환하세요. 단일 글자라도 횟수 1 을 붙입니다.

예시

s="aaabbc"  → "a3b2c1"
s="abcd"    → "a1b1c1d1"
s="aaaaa"   → "a5"
s="a"       → "a1"
s="ababab"  → "a1b1a1b1a1b1"

제약 조건

  • 1 ≤ s.length ≤ 100,000
  • s 는 영문 소문자

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

테스트 케이스

예시 1: 기본 압축
입력: s = "aaabbc"
출력: "a3b2c1"
예시 2: 모두 1번 → 그대로 카운트 표기
입력: s = "abcd"
출력: "a1b1c1d1"
예시 3: 한 글자만 5회
입력: s = "aaaaa"
출력: "a5"
예시 4: 단일 글자
입력: s = "a"
출력: "a1"
예시 5: 교차 패턴
입력: s = "ababab"
출력: "a1b1a1b1a1b1"
예시 6: 두 자리수 카운트
입력: s = "zzzzzzzzzzaaa"
출력: "z10a3"
solution.ts
에디터 로딩 중…

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