본문으로 이동
코드패스 by Devin.KR

문제 3774 · 비트 III

편의점 진열 코드 정리

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 편의점은 진열대마다 상품을 구분하기 위한 코드를 붙여 둔다. 직원이 오래된 종이 표찰을 새 전산 목록으로 옮기는 과정에서, 읽기 편하도록 넣었던 붙임표와 모양이 비슷한 영문자가 코드에 함께 입력되었다. 새 목록에서는 정해진 규칙에 따라 코드를 정리한 뒤 저장해야 한다. 이 작업에서는 상품의 종류를 판단하거나 다른 코드와 비교하지 않고, 입력된 문자열 하나만 처리한다. 입력 문자열에는 영문 대문자, 숫자, 붙임표 문자 '-'만 들어 있다. 직원은 문자열을 왼쪽부터 오른쪽으로 읽으면서 각 문자를 정리한다. 붙임표 '-'는 보기 편하게 나누기 위해 넣은 구분 기호이므로 결과에 넣지 않는다. 영문 대문자 'O'는 숫자 '0'으로 바꾸고, 영문 대문자 'I'는 숫자 '1'로 바꾼다. 이 세 문자 이외의 문자는 입력된 모습 그대로 결과에 넣는다. 각 문자는 자기 종류에 해당하는 규칙을 한 번만 적용한다. 영문자 'O'와 숫자 '0'은 서로 다른 입력 문자지만, 정리한 결과에는 모두 숫자 '0'이 남는다. 영문자 'I'와 숫자 '1'도 정리한 결과에는 모두 숫자 '1'이 남는다. 숫자 '0'이나 '1'을 다시 영문자로 바꾸는 규칙은 없다. 그 밖의 영문자는 모양이 숫자와 비슷하더라도 바꾸지 않는다. 결과에 남는 문자들의 상대적인 순서는 입력에서와 같아야 한다. 같은 문자가 연속으로 나오더라도 합치거나 지우지 않는다. 문자열 앞이나 뒤에 있는 붙임표와 여러 개 연속된 붙임표도 모두 같은 방식으로 제거한다. 결과가 숫자로만 이루어지더라도 정수로 변환하지 않으므로, 맨 앞에 놓인 숫자 '0'도 그대로 유지한다. 입력 문자열이 붙임표로만 이루어졌다면 정리한 뒤 남는 문자가 없다. 이 경우 빈 줄 대신 EMPTY를 출력하기로 했다. 그 밖의 경우에는 정리된 문자열을 그대로 출력한다. 이 규칙에 따라 새 전산 목록에 기록할 출력 문자열을 구하는 프로그램을 작성한다.

입력

첫째 줄에 문자열 S가 주어진다. S의 길이는 1 이상 1,000 이하이며, 영문 대문자 A부터 Z, 숫자 0부터 9, 붙임표 '-'로만 이루어진다. S에는 공백이 없다.

출력

붙임표를 제거하고 영문 대문자 O를 숫자 0으로, 영문 대문자 I를 숫자 1로 바꾼 문자열을 한 줄에 출력한다. 나머지 문자는 그대로 유지한다. 정리한 뒤 남는 문자가 없다면 EMPTY를 출력한다.

예제 입력 1

O-I-07-BOX

예제 출력 1

0107B0X

예제 입력 2

-----

예제 출력 2

EMPTY

예제 입력 3

00-II-A9

예제 출력 3

0011A9
힌트 펼치기
  • 문자를 하나씩 확인하면서 출력에 남길 문자를 순서대로 모은다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류문자열구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)