[Hackerrank] Python - 19 String Validators

후유카와·2024년 11월 27일

Hackerrank

목록 보기
59/59

19. String Validators

[ 난이도: Easy | 분야: Strings ]

1. 과제

과제 설명

기본 데이터에 대해 파이썬은 내장 문자열 검증 메소드가 있다. 만약 문자열이 알파벳, 숫자, 디지털 숫자 등이라면 검증할 수 있다.

str.isalnum()

이 메소드는 모든 문자가 알파벳 또는 숫자인지 확인한다.

(a-z, A-Z 그리고 0-9).

>>> print 'ab123'.isalnum()
True
>>> print 'ab123#'.isalnum()
False

str.isalpha()

이 메소드는 모든 문자열이 알파벳으로만 이루어졌는지 확인한다 (a-z 그리고 A-Z).

>>>print 'abcD'.isalpha()
True
>>>print 'abcd1'.isalpha()
False

str.isdigit()

이 메소드는 모든 문자가 숫자로만 이루어졌는지 확인한다 (0-9).

>>> print '1234'.isdigit()
True
>>> print '123edsd'.isdigit()
False

str.islower()

이 메소드는 문자열의 모든 문자가 소문자인지 확인한다 (a-z).

>>> print 'abcd123#'.islower()
True
>>> print 'Abcd123#'.islower()
False

str.isupper()

이 메소드는 문자열의 모든 문자가 대문자인지 확인한다 (A-Z).

>>> print 'ABCD123#'.isupper()
True
>>> print 'Abcd123#'.isuppper()
False

Task

문자열 S가 주어질 때 문자열이 '알파벳 + 숫자'인지, 알파벳만 있는지, 숫자만 있는지, 소문자로만 이루어져 있는지, 대문자로만 이루어져 있는지 판단해라.

입력 형식

문자열 S를 포함하고 있다.

제약 사항

문자열의 길이는 0보다 크고 1000보다 작다.

출력 형식

첫 번째 줄에 만약 문자열 S가 '알파벳 + 숫자'를 가지고 있다면 True를 출력하고 그렇지 않을 경우 False를 출력해라.

두 번째 줄에 만약 문자열 S가 알파벳을 가지고 있다면 True를 출력하고 그렇지 않을 경우 False를 출력해라.

세 번째 줄에 만약 문자열 S가 숫자로만 이루어져 있다면 True를 출력하고 그렇지 않을 경우 False를 출력해라.

네 번째 줄에 만약 문자열 S가 소문자로만 이루어져 있다면 True를 출력하고 그렇지 않을 경우 False를 출력해라.

다섯 번째 줄에 만약 문자열 S가 대문자로만 이루어져 있다면 True를 출력하고 그렇지 않을 경우 False를 출력해라.

입력 예시

qA2

출력 예시

True
True
True
True
True

문제

if __name__ == '__main__':
    s = input()

더보기

정답

if __name__ == '__main__':
    s = input()
    
    is_alphanumeric = [any(i.isalnum() for i in s)]
    is_alphabetical = [any(i.isalpha() for i in s)]
    is_digit = [any(i.isdigit() for i in s)]
    is_lowercase = [any(i.islower() for i in s)]
    is_uppercase = [any(i.isupper() for i in s)]
    
    print(is_alphanumeric[0])
    print(is_alphabetical[0])
    print(is_digit[0])
    print(is_lowercase[0])
    print(is_uppercase[0])

©️Hackerrank. All Rights Reserved.

profile
안녕하세요! 저는 전자공학을 전공하며 하드웨어와 소프트웨어 모두를 깊이 있게 공부하고 있는 후유카와입니다. Verilog HDL, C/C++, Java, Python 등 다양한 프로그래밍 언어를 다루고 있으며, 최근에는 알고리즘에 대한 학습에 집중하고 있습니다. 기술적인 내용을 공유하고, 함께 성장할 수 있는 공간이 되기를 바랍니다. 잘못된 내용이나 피드백은 언제나 환영합니다! 함께 소통하며 더 나은 지식을 쌓아가요. 감사합니다!

0개의 댓글