티스토리 뷰
1. 문제
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
s
는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s | return |
---|---|
a234 | false |
1234 | true |
2. 풀이 과정
"-2000" 이나 "23.9" 도 우리가 인식하기에는 숫자로 인식하지만 사실 "-" 와 "." 이라는 문자열이 섞여 들어간 것이기 때문
에 false가 나와야 한다. 따라서, float가 아닌 int를 실행했을 때 에러가 나지 않아야 한다.
def solution(s):
if len(s) == 4 or len(s) == 6:
try:
num = int(s)
return True
except:
return False
else:
return False
더 짧게 고치면 다음과 같이 고칠 수 있다.
def solution(s):
try:
num = int(s)
return len(s) == 4 or len(s) == 6
except:
return False
3. 다른 사람의 풀이
문자열 길이를 판단하는 부분을 or이 아닌 in을 사용해서 처리한 점이 보고 배워야 할 점이라 생각한다.
def alpha_string46(s):
return s.isdigit() and len(s) in (4, 6)
isdigit()
: 문자열이 숫자로만 구성되어 있으면 True- 음수나 소숫점이 포함된 숫자는 False를 return
isalpha()
: 문자열이 문자로만 구성되어 있으면 True
'Algorithm > Programmers' 카테고리의 다른 글
문자열 내림차순으로 배치하기 (0) | 2020.04.18 |
---|---|
핸드폰 번호 가리기 (0) | 2020.04.18 |
같은 숫자는 싫어 (0) | 2020.03.30 |
문자열 내 p와 y의 개수 (0) | 2020.03.30 |
나누어 떨어지는 숫자 배열 (0) | 2020.03.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Django 댓글
- Django application
- Django 프로젝트 생성
- Django Instagram
- Django 해시태그
- Django 업로드
- Redis Cache
- Django 어플리케이션
- query parameter
- MySQL
- Django 회원가입
- Django 좋아요
- java
- 파이썬
- 장고
- python
- Django 회원 정보 수정
- 서점 어플리케이션
- Django 비밀번호 수정
- Django User
- Django 검색
- Django 로그인
- Django 팔로우
- 북마크 어플리케이션
- Django 로그아웃
- Django 인스타그램
- Django 북마크
- Django 컬렉션
- Redis
- Django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함