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

김서연·2024년 2월 9일

코딩테스트

목록 보기
10/31

📜문제 설명

문제 바로가기

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

📍제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

📍입출력 예시

sreturn
"a234"false
"1234"true

📄문제 해결

📝내가 푼 코드

def solution(s):
    if len(s) != 4 and len(s) != 6: return False
    try:
        s = int(s)
        return True
    except ValueError: return False

자릿수를 검사하는 것보다도 이 문제의 핵심은 문자열이 숫자로 구성되어 있느냐? 였을 것이다.

내가 생각한 것은 문자열을 int 타입으로 변환이 가능하면 True. 라는 생각으로 try-except 문을 활용했다.

📑다른 사람들의 풀이

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

한 줄로 구현하기 힘들 것이라고 생각한 문제였지만 내 생각이 틀렸었다. 특히나 isdigit().. 문자열이 숫자인지 판별하는 함수를 잊고 있었는데 이 코드를 통해 다시금 그 존재를 기억해낼 수 있었다.

그리고 s의 길이를 in을 활용해 검사한 검이 인상깊었다.


🤔느낀점

한 번 공부하고 알아뒀던 내용은 결국 까먹게 된다. 그러지 않기 위해서 기록하고, 정리해야겠다는 생각이 들었다.

profile
가보자고! 🔥

0개의 댓글