728x90
코딩 테스트 연습 28일
프로그래머스, 문자열 다루기 기본
📄 나의 코드
s = "123523²"
def solution(s):
answer = False
if (len(s) == 4 or len(s) == 6) and s.isdecimal():
answer = True
return answer
print(solution(s)
정규식으로 풀려다가 도저히 안풀려서 질의응답보고 힌트 받아 풀었다.
📄 공부할 만한 코드1
a = '3²'
print(a.isdigit()) # True
print(a.isdecimal()) # False
print(a.isnumeric()) # True
isdecimal라는 함수만 int로 변환가능한지 알려주는 함수 이므로, [0-9]를 제외한 특수문자는 예외로 처리한다.
📄 공부할 만한 코드2
len(s) in (4, 6)
문자열의 길이가 4 혹은 6일 때만 True반환하는 문제임으로 위와 같은 조건을 써주면 된다.
📄 공부할 만한 코드3
def solution(s):
import re
return bool(re.match("^(\d{4}|\d{6})$", s))
정규식 표현을 사용하기 위해 re를 import해주고!
- ^ : 문자열 시작
- $ : 문자열 끝
- \d : 는 [0-9]를 의미함.
- {4} {6} :은 반복되는 숫자를 의미한다.
- | : or 또는
'알고리즘' 카테고리의 다른 글
코딩 테스트 연습 29일 (0) | 2022.12.29 |
---|---|
자료구조 3주차 숙제_2 (1) | 2022.12.28 |
자료구조 3주차 숙제 (0) | 2022.12.27 |
코딩 테스트 연습 27일 (0) | 2022.12.27 |
코딩 테스트 연습 22일,23일,26일 (0) | 2022.12.26 |