프로그래머스_문자열다루기기본

임정민·2023년 8월 15일
1

알고리즘 문제풀이

목록 보기
89/173
post-thumbnail

프로그래머스 문자열 문제입니다. 오늘은 광복절 휴일로 간단한 문제로 풀어보았습니다.^^ 실전에 대비하기 위해 60분 시간제한을 두고 풀었습니다.

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12918?itm_content=course14743

[나의 풀이1]

⌛ 8분 소요

def solution(s):
    answer = False
    
    n = len(s)

    if n==4 or n==6:
        if s.isdecimal():
            answer = True
    return answer

입력되는 값이 크기를 판별하고 온전히 숫자로만 이루어졌는지 확인하는 문제입니다. 주어진 문자열이 숫자로만 이루어졌는지를 파악하기 위해 이전 문제들을 풀어보면서 알게된 str.isdecimal() 함수를 활용해보았습니다.

[나의 풀이2]

def solution(s):
    answer = False
    
    n = len(s)

    if n==4 or n==6:
        if s.isnumeric():
            answer = True

    return answer

isdecimal()과 유사한 함수로 isnumeric()으로도 해결이 가능하였습니다.

[나의 풀이3]

def solution(s):
    answer = False
    
    n = len(s)

    if n==4 or n==6:
        if s.isdigit():
            answer = True

    return answer

isdecimal(),isnumeric()과 유사한 함수로 isdigit()으로도 해결해보았습니다.

isdecimal(),isnumeric(),isdigit() 세가지 함수의 차이는 이전 글에서 남겨놓아 아래 링크를 참고하시면 되겠습니다.

isdecimal(), isnumeric(), isdigit() 차이점

[다른사람의 풀이]

def solution(s):
	return s.isdigit() and len(s) in (4,6)

다른 사람의 풀이로써

len(s) in (4,6)

위와 같은 구문으로 길이가 4, 6 둘 중 하나와 일치하는지를 판별하고,

str.isdigit()

숫자로만 이루어졌는지 확인하여 해결하는 한 줄의 간결한 풀이를 볼 수 있었습니다.

감사합니다.

profile
https://github.com/min731

0개의 댓글