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

문제 3548 · 비트 IV

지원 요청의 장비 코드 정리

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

문제

사내 IT 지원실은 직원들이 보낸 지원 요청을 장비별로 정리하고 있다. 직원은 요청서에 장비 코드를 직접 입력하는데, 읽기 편하도록 하이픈을 넣거나 영문 소문자를 사용하는 경우가 있다. 지원실의 관리 화면은 영문 대문자와 숫자로만 이루어진 코드를 사용하므로, 담당자는 전달받은 문자열을 관리 화면의 표기 규칙에 맞게 바꾸려 한다. 입력으로 주어지는 장비 코드에는 영문 대문자, 영문 소문자, 숫자, 하이픈만 들어 있다. 하이픈은 문자를 나누어 보여 주기 위한 표시이므로 결과에서 모두 제거한다. 영문 소문자는 대응하는 영문 대문자로 바꾼다. 영문 대문자와 숫자는 그대로 둔다. 이 과정에서 하이픈을 제외한 문자들의 앞뒤 순서는 바꾸지 않는다. 예를 들어 하이픈이 여러 개 연속해서 있으면 그 하이픈을 전부 제거한다. 코드의 맨 앞이나 맨 뒤에 있는 하이픈도 같은 방식으로 제거한다. 숫자 0은 장비 코드의 일부이므로 맨 앞에 있더라도 지우지 않는다. 숫자로만 이루어진 부분을 정수로 해석하거나, 같은 문자가 연속한다고 해서 하나로 합치는 작업도 하지 않는다. 지원 요청마다 장비 코드가 하나씩 주어진다. 서로 다른 요청의 코드를 이어 붙이지 않고 각 코드를 독립적으로 정리한다. 정리한 결과가 다른 요청의 결과와 같아지더라도 두 요청은 그대로 유지해야 한다. 따라서 출력할 줄의 수는 입력된 코드의 개수와 같다. 코드를 정렬하거나 중복을 제거할 필요는 없다. 모든 입력 코드에는 하이픈이 아닌 문자가 적어도 하나 있으므로 정리한 결과는 항상 비어 있지 않다. 각 코드의 길이는 하이픈까지 포함하여 센다. 입력에 등장하는 순서대로 정리한 장비 코드를 한 줄에 하나씩 출력하는 프로그램을 작성한다.

입력

첫째 줄에 장비 코드의 개수 N이 주어진다. N은 1 이상 1,000 이하의 정수다.
다음 N개 줄에는 장비 코드가 하나씩 주어진다. 각 코드의 길이는 1 이상 100 이하이며, 영문 대문자 A부터 Z, 영문 소문자 a부터 z, 숫자 0부터 9, 하이픈(-)만 포함한다. 각 코드에는 하이픈이 아닌 문자가 적어도 하나 있다. 코드 내부에는 공백이 없다.

출력

입력 순서대로 정리한 장비 코드를 한 줄에 하나씩 출력한다. 모든 하이픈을 제거하고 모든 영문 소문자를 대문자로 바꾸며, 나머지 문자는 순서를 유지하여 출력한다.

예제 입력 1

3
pc-07-a
--mOn--004-
Z9

예제 출력 1

PC07A
MON004
Z9

예제 입력 2

4
0-0-b
ab
A-B
---q---

예제 출력 2

00B
AB
AB
Q
힌트 펼치기
  • 각 문자를 앞에서부터 확인하며 하이픈은 건너뛰고 소문자는 대문자로 바꾼다.

관련 서재 장

관련 장

출처: 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 / 테스트측정하지 않음(브라우저 채점)