Devin.KR

← 전체 문제 · 채점 환경 도움말

문제 1009 · 입문 2

커밋 메시지 검사

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

문제

우리 팀의 커밋 메시지는 `종류: 요약` 꼴이어야 한다. 자세한 규칙은 다음과 같다. 1. 종류는 feat, fix, docs, refactor, test 중 하나이고 소문자로 쓴다. 2. 종류 바로 뒤에 콜론(:)이 오고, 그 뒤에 공백이 정확히 한 칸 온다. 3. 그 뒤가 요약이다. 요약은 1자 이상 50자 이하이고, 공백으로 시작하지 않으며, 마침표(.)로 끝나지 않는다. 메시지에서 처음 나오는 콜론 앞부분을 종류로 본다. 콜론이 없으면 규칙을 어긴 메시지다. N개의 커밋 메시지가 주어질 때 규칙을 어긴 메시지를 모두 찾아라.

입력

첫째 줄에 메시지 수 N (1 ≤ N ≤ 1,000) 이 주어진다.

다음 N개 줄에 메시지가 한 줄에 하나씩 주어진다. 메시지는 길이 1 이상 100 이하이고, 영문·숫자·기호·공백(ASCII)으로만 이루어져 있으며, 공백으로 시작하거나 끝나지 않는다.

출력

첫째 줄에 규칙을 어긴 메시지 수 K 를 출력한다. K 가 1 이상이면 둘째 줄에 어긴 메시지의 번호(1부터)를 오름차순으로 공백을 사이에 두고 출력한다.

예제 입력 1

4
feat: add login page
Fix: typo
docs:update readme
fix: null check.

예제 출력 1

3
2 3 4

예제 입력 2

2
refactor: split parser
test: add cases for retry

예제 출력 2

0
힌트 펼치기
  • 입력을 공백 기준으로 자르면 요약 안의 공백 정보가 사라진다. 줄 단위로 읽자.
  • 처음 나오는 콜론의 위치 i 를 찾으면, 종류는 i 앞, 공백은 i+1 번째 글자, 요약은 i+2 번째부터다.

관련 서재 장

파이썬 문자열 다루기

자바스크립트 변수와 자료형

출처: Devin.KR 자체 제작

알고리즘 분류문자열

풀이 작성

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

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

Tab: 공백 2칸 · Esc 후 Tab: 다음 요소로 이동. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

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

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

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

    이 브라우저의 제출 기록

      언어별 제한

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

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