아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

비밀번호 검사

면접 대비

시간 제한2초메모리 제한512 MB

요약
N개의 비밀번호마다 소문자, 대문자, 숫자, 기호를 모두 포함하고 길이가 12 이상이면 valid, 아니면 invalid를 출력한다.
난이도

쉬움10점 중 2점

유형
문자열, 구현
정답자
아직 제출이 없습니다

문제

더블린 시티 대학교는 학생과 교직원이 약한 비밀번호를 쓰는 일을 막으려고 한다. 보안팀은 비밀번호 지침 위원회가 정한 품질 요건을 비밀번호가 모두 만족하는지 검사하는 프로그램을 의뢰했다.

요건은 다음과 같다. 비밀번호가 아래 성질을 모두 갖추면 충분히 강하다고 본다.

  • 소문자가 하나 이상 있다.
  • 대문자가 하나 이상 있다.
  • 숫자가 하나 이상 있다.
  • +_)(*&^%$#@!./,;{} 안의 기호가 하나 이상 있다.
  • 길이가 12 이상이다.

예를 들어 Aa1_는 앞의 네 요건을 만족하지만 길이가 12보다 짧다. Aa1234567890_는 모든 요건을 만족한다.

입력

한 번의 입력에서 여러 비밀번호를 한꺼번에 처리한다.

첫째 줄에 처리할 비밀번호의 개수 NN이 주어진다.

각 비밀번호는 두 줄로 주어진다. 첫째 줄에는 비밀번호의 길이 SS가 주어지고, 다음 줄에는 SS개의 문자로 이루어진 비밀번호가 주어진다.

비밀번호는 알파벳 소문자와 대문자, 숫자 0부터 9까지, 그리고 기호 +_)(*&^%$#@!./,;{}로만 이루어진다.

비밀번호의 길이는 최대 30이고, 한 입력에 주어지는 비밀번호는 최대 100개다.

출력

각 비밀번호마다 한 줄씩, 품질 요건을 만족하면 valid를, 그렇지 않으면 invalid를 출력한다. 주어진 순서를 그대로 지킨다.

예제2

  1. 예제 1

    입력
    2
    4
    Aa1_
    13
    Aa1234567890_
    
    예상 출력
    invalid
    valid
    
  2. 예제 2

    입력
    5
    18
    UtQ.iNlLgT;{f,.GR!
    29
    yr)Z,pHQ+No,ZfP_z12D2l1*MSTfk
    23
    .p7hV/Es^aahW%B.1JJouO;
    9
    c7V!*$1lW
    26
    a^pBAAxCohQlBv7qDpVeOB%Min
    
    예상 출력
    invalid
    valid
    valid
    invalid
    valid