문제 3698 · 비트 III
지원 요청의 장비 코드
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
사내 IT 지원팀은 직원이 지원 요청에 적은 장비 코드를 내부 관리 화면에 표시하려고 한다. 직원마다 코드를 입력하는 습관이 달라, 같은 형식의 코드에도 영문 소문자와 대문자가 섞이거나 구분용 하이픈이 여러 곳에 들어간다. 지원팀은 검색 전에 표시 형식을 통일하는 작은 프로그램을 만들기로 했다. 입력되는 장비 코드는 영문 대문자, 영문 소문자, 숫자, 하이픈으로만 이루어진 문자열이다. 여기서 하이픈은 문자 '-'를 뜻한다. 공백이나 다른 기호는 들어오지 않는다. 문자열을 왼쪽부터 읽으면서 하이픈은 결과에 넣지 않고, 영문 소문자는 대응하는 영문 대문자로 바꾼다. 영문 대문자와 숫자는 그대로 결과에 넣는다. 하이픈은 단순한 구분 기호이므로 맨 앞이나 맨 뒤에 있어도 제거하고, 여러 개가 연속해서 있어도 모두 제거한다. 남는 문자들의 상대적인 순서는 바꾸지 않는다. 또한 숫자가 여러 개 이어져 있더라도 하나의 정수로 해석하지 않는다. 따라서 맨 앞에 있는 숫자 0이나 반복해서 등장하는 숫자도 빠짐없이 남겨야 한다. 코드 길이를 맞추기 위해 문자를 추가하거나, 같은 문자를 하나로 합치는 작업은 하지 않는다. 입력에는 영문자 또는 숫자가 적어도 하나 있으므로 변환 결과가 빈 문자열이 되는 경우는 없다. 이 작업은 장비가 실제로 등록되어 있는지 판별하는 과정이 아니며, 별도의 장비 목록과 비교할 필요도 없다. 주어진 규칙을 모든 문자에 적용한 뒤 관리 화면에 표시할 장비 코드 하나를 출력한다.
입력
첫째 줄에 장비 코드 문자열 S가 주어진다. S의 길이는 1 이상 1,000 이하이다. S는 영문 대문자 A부터 Z, 영문 소문자 a부터 z, 숫자 0부터 9, 하이픈 '-'으로만 이루어지며, 하이픈이 아닌 문자를 적어도 하나 포함한다.
출력
하이픈을 모두 제거하고 영문 소문자를 대문자로 바꾼 장비 코드를 한 줄에 출력한다.
예제 입력 1
it-00b--7x
예제 출력 1
IT00B7X
예제 입력 2
---0---
예제 출력 2
0
예제 입력 3
A9Z
예제 출력 3
A9Z
힌트 펼치기
- 문자를 하나씩 확인하며 하이픈이 아닌 문자만 결과에 이어 붙인다.
관련 서재 장
알고리즘 분류
문자열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |