> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Valid Username Regular Expression

jini:) 2023. 9. 19. 10:13
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Strings > Valid Username Regular Expression
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

회사의 내부 네트워킹 플랫폼에서 사용자 이름 정책을 업데이트하고 있습니다. 정책에 따르면 다음 제약 조건이 모두 충족되면 사용자 이름이 유효한 것으로 간주됩니다.

  • 사용자 이름은 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");
            }           
        }
    }
}

 

참고

자바 정규식 (Java RegExp) 정규표현식 사용법

 

자바 정규식 (Java RegExp) 정규표현식 사용법

[해커랭크(HackerRank) JAVA 풀이] - Java Regex 이전 글에서 해커랭크 문제를 풀다가, 자바 정규식에 대해 좀 더 알아볼 필요성을 느꼈다. 자바 정규표현식 사용법에 대해 자세히 알아보자. 정규표현식

ji-ni.tistory.com

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형