- 문제: 입력 문자열에서 숫자를 제거하고, 각 숫자 제거 시 왼쪽에 있는 가장 가까운 비숫자 문자도 함께 제거하는 알고리즘 구현 🔎
- 해결 방법 1: 문자열을 역순으로 순회하며, 숫자를 만나면 삭제 카운트 증가, 비숫자를 만나면 삭제 카운트가 양수이면 삭제, 음수이면 결과에 추가 🔄
- 해결 방법 2: 스택 자료구조 활용, 문자열을 순서대로 순회하며, 숫자를 만나면 스택에서 팝, 비숫자를 만나면 스택에 푸시 栈
- 시간 복잡도: 선형 시간 O(n) ⏱️
- 공간 복잡도: 선형 공간 O(n), 중간 배열 사용으로 인해 발생 🗄️
- 추가 설명: isdigit() 함수 직접 구현 가능, 문자열의 ASCII 값 비교를 통해 구현 가능 ⌨️