728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Strings > Valid Username Regular Expression
회사의 내부 네트워킹 플랫폼에서 사용자 이름 정책을 업데이트하고 있습니다. 정책에 따르면 다음 제약 조건이 모두 충족되면 사용자 이름이 유효한 것으로 간주됩니다.
- 사용자 이름은 8~30자로 구성됩니다. 사용자 이름이 8자 미만 또는 30자를 초과하는 경우 잘못된 사용자 이름입니다.
- 사용자 이름은 영숫자와 밑줄(_)만 포함할 수 있습니다. 영숫자는 소문자 [a - z], 대문자 [A - Z] 및 숫자 [0 - 9]로 구성된 문자 집합을 설명합니다.
- 사용자 이름의 첫 번째 문자는 영문자여야 합니다. 즉, 소문자[a - z] 또는 대문자[A - Z]여야 합니다.
For example
Username | Validity |
Julia | 유효하지않음; 사용자이름이 8자 미만이다. |
Samantha | 유효함 |
Samantha_21 | 유효함 |
1Samantha | 유효하지않음; 사용자이름이 알파벳이 아닌 문자로 시작한다. |
Samantha?10_2A | 유효하지않음; '?'는 허용되지 않은 문자이다. |
정규식이 유효한 사용자 이름과만 일치하도록 UsernameValidator 클래스의 regularExpression 필드 값을 업데이트합니다.
Input Format
입력의 첫 번째 줄에는 총 사용자 이름 수를 설명하는 정수 n이 포함됩니다. 다음 n줄 각각은 사용자 이름을 설명하는 문자열을 포함합니다. 잠긴 스텁 코드는 입력을 읽고 사용자 이름의 유효성을 검사합니다.
Constraints
- 1 ≤ n ≤ 100
- 사용자 이름은 인쇄 가능한 모든 문자로 구성됩니다.
Output Format
각 사용자 이름에 대해 잠긴 스텁 코드는 사용자 이름이 유효한 경우 Valid를 출력합니다. 그렇지 않으면 새 줄에서 각각 Invalid를 출력합니다.
Sample Input
8
Julia
Samantha
Samantha_21
1Samantha
Samantha?10_2A
JuliaZ007
Julia@007
_Julia007
Sample Output
Invalid
Valid
Valid
Invalid
Invalid
Valid
Invalid
Invalid
Explanation
챌린지 설명의 다이어그램을 참조하십시오.
Code
import java.util.Scanner;
class UsernameValidator {
/*
* Write regular expression here.
*/
public static final String regularExpression = "^[a-zA-Z]\\w{7,29}$";
}
public class Solution {
private static final Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
int n = Integer.parseInt(scan.nextLine());
while (n-- != 0) {
String userName = scan.nextLine();
if (userName.matches(UsernameValidator.regularExpression)) {
System.out.println("Valid");
} else {
System.out.println("Invalid");
}
}
}
}
참고
개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.
728x90
반응형
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java BigDecimal (0) | 2023.09.20 |
---|---|
[해커랭크(HackerRank) JAVA 풀이] - Tag Content Extractor (0) | 2023.09.19 |
[해커랭크(HackerRank) JAVA 풀이] - Java Regex 2 - Duplicate Words (0) | 2023.09.19 |
자바 정규식 (Java RegExp) 정규표현식 사용법 (0) | 2023.09.18 |
[해커랭크(HackerRank) JAVA 풀이] - Java Regex (0) | 2023.09.18 |