[Programmers] - 문자열 다루기 기본

오동훈·2021년 3월 14일
0

Programmers

목록 보기
10/64
post-thumbnail

1. Problem 📃

https://programmers.co.kr/learn/courses/30/lessons/12918

이번 문제는, 입력 받은 문자열이 숫자로만 구성되었는지 확인하는 문제입니다.

2. Logic 👨‍🏫

  1. first 전제조건 check
  2. 반복문을 이용해 숫자 외 다른 문자가 있을경우 False 반환

3. Code 💻

1. 내가 푼 코드

def solution(s):
    if len(s) != 4 & len(s) != 6: # 전제 조건
        return False
    answer = True
    for i in range(len(s)):
        if ('0' <= s[i] <= '9'):
            answer = True
        else:
            return False  # 바로 반환해주지 않으면 "123a1" 이런 경우 True 반환
    return answer

2. 다른 분이 푼 코드

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

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( alpha_string46("a234") )
print( alpha_string46("1234") )

4. Feedback 📚

- 위의 다른 분이 푼 코드에서 사용한 함수들을 한번 살펴 보려고 한다.

4.1 isdigit

- 숫자인지 확인할 때 사용하는 함수입니다.

# Appia Example for isalpha
# It is to explain how to check whether the string consist of digit or not.
 
Ex1 = '010-1234-5678'
Ex2 = '123456'
Ex3 = "R4R3"
 
print(Ex1.isdigit()) # False
print(Ex2.isdigit()) # True
print(Ex3.isdigit()) # False

4.2 isalpha

- 알파벳인지 확인하는 함수입니다.

# Appia Example for isalpha
# It is to explain how to check whether the string consist of alphabet or not.
 
ex1 = "오동훈"
ex2 = "123"
ex3 = "abc"

print(ex1.isalpha()) # True ??
print(ex2.isalpha()) # False
print(ex3.isalpha()) # True

단, isalpha() 함수를 이용할 때, 한글을 입력 받았을 때도 True를 반환하기 때문에 이 부분 유의해야 될 것 같습니다.

4.3 in 키워드

4.3.1 값의 존재 여부 검사

- in 키워드는 어떤 값이 리스트, 튜플, 세트의 요소인지 아닌지 여부를 판단하는데 사용됩니다. 해당 값이 있으면 True, 없으면 False를 반환합니다.

fruits = ['apple', 'grapes', 'banana', 'plum', 'mango']

print('plum' in fruits) # True
print('pear' in fruits) # False

- 시퀀스(sequence) 자료형이란
데이터를 순서를 가지고 나열한 것으로 특정 위치(순서)를 이용하여 데이터를 가리킬 수 있다는 특징이 있습니다. 데이터 대표적으로 list, tuple, range, str이 있으며 모두 인덱싱, 슬라이싱이 가능합니다.

4.3.2 순서 반복

movies_of_2019 = ['The Irishman', 'Little Women', 'John Wick: Chapter 3', 'Ford v Ferrari']

for title in movies_of_2019:
	print(title)
  
"""
The Irishman
Little Women
John Wick: Chapter 3
Ford v Ferrari
"""
profile
삽질의 기록들🐥

0개의 댓글