7019 : 이메일 주소 유효성 검사
문제 설명
주어지는 여러 개의 이메일 주소 후보 문자열에 대하여, 아래 규격에 부합하는 올바른 형식의 이메일 주소인지 검사하는 프로그램을 작성하시오. 올바른 이메일 주소의 규격은 다음과 같다.
1. 문자열 내에 `@` 기호가 정확히 $1$개 존재해야 한다.
2. `@` 기호 앞의 로컬 파트(Local part)는 최소 $1$자 이상이어야 하며, 알파벳 대소문자, 숫자, 마침표(`.`), 밑줄(`_`), 하이픈 `-` 문자로만 이루어져 있어야 한다.
3. `@` 기호 뒤의 도메인 파트(Domain part)는 마지막에 마침표(`.`)를 하나 이상 포함하여 최소 하나 이상의 서브 도메인과 최상위 도메인(TLD)으로 이루어져 있어야 한다. (도메인 파트에는 알파벳, 숫자, 마침표, 하이픈만 허용된다.)
4. 마지막 마침표(`.`) 뒤에 위치하는 최상위 도메인(TLD)은 최소 $2$자 이상, 최대 $6$자 이하이어야 하며, 알파벳 대소문자로만 이루어져 있어야 한다.
[제약 조건]
• 후보 문자열 수 $N$: $1 \le N \le 100$
• 각 문자열의 길이: $1 \le |S| \le 100$
입력 설명
첫째 줄에 검사할 이메일 후보 문자열의 개수 주어진다. 둘째 줄부터 줄에 걸쳐 이메일 후보 문자열이 한 줄에 하나씩 주어진다. ($1 \le N \le 100$, 각 문자열의 길이 $\le 100$)
출력 설명
각 문자열별로 규격에 유효하면 `VALID`, 유효하지 않으면 `INVALID`를 한 줄에 하나씩 출력한다.
입력 예시
COPY
복사되었습니다!
3
test@example.com
invalid-email
user@domain.co.kr
출력 예시
COPY
복사되었습니다!
VALID
INVALID
VALID
도움
로컬 파트와 도메인 파트 및 TLD를 각각 split하여 규칙 조건과 정규식 검사를 분기하여 처리한다.