안녕하세요. 위기의코딩맨입니다.
프로그래머스 Level 1단계를 Python언어를 사용하여 모두 풀어보았습니다.
Level 1단계 문제를 풀면서 유용하게 사용한 부분을 몇가지 설명해드리려 합니다.
[ ‘’.join(list) ]
join은 리스트에 있는 데이터들을 하나로 문자열로 만들어 원하는 값을 제공합니다.
list_ = ['a','b','c']
print(''.join(list_))
''는 해당 값들 사이에 구분을 주는 값을 넣으면 됩니다.
list_ = ['a','b','c']
print(','.join(list_))
[ lambda ]
원하는 list를 얻기 위해 많이 사용하는데
lambda에 대해 블로그 작성한 것이 있으므로
참고하실 분은 lambda
[ deque ]
'데크'라고 불리며, list를 deque로 변환하여 사용할때 주로 사용합니다. popleft()를 주로 사용합니다.
- deque는 list보다 속도가 빠르다. pop(0)와 같은 메서드를 수행할 때 리스트의 경우 O(N)연산을 수행하지만 deque는 O(1) 연산을 수행하기 때문이다. (출처 : https://wikidocs.net/104977 )
import collections
list_ = ['a','b','c']
list_2 = collections.deque(t for t in list_)
print(list_)
print(list_2)
[ combinations ]
combinations은 해당 리스트에 있는 모든 조합의 정보를 얻을 수 있습니다.
list_ = ['a','b','c','d','e']
list_2 = list(combinations(list_, 2))
print(list_2)
결과를 보면 list_의 2가지 조합으로 결과 값이 나타난 것을 확인할 수 있습니다.
각 조합을 만들어야 하는 경우에 사용하시면 될 것 같습니다.
[ dict, enumerate ]
dict와 enumerate는 해당 키 값으로 원하는 값을 얻거나, 인덱스를 얻기 위해 많이 사용했습니다.
list_ = {1:'a', 2: 'b', 3:'c'}
for z,y in list_.items():
print(z,y)
list_2 = ['a', 'b', 'c']
for z,y in enumerate(list_2):
print(z,y)
해당 Key 값에 대한 value 값, 인덱스에 대한 value를 얻기 위해 사용하면 좋습니다.
[ zfill(), rjust() ]
해당 문자열을 채워주는 역할을 합니다. zfill는 0으로 채워줍니다. rjust는 원하는 문자열로 빈공간을 채워줍니다.
print("7".zfill(3))
print("7".rjust(3,"*"))
해당 문자열을 채우거나 변환할 때 사용하시면 될 것같습니다.
[ isalpha(), isdigit() ]
isalpha()는 해당 문자열이 알파벳인지, isdigit()는 해당 값이 숫자인지 물어보는 함수입니다.
str_ = 'a'
if str_.isalpha():
print(True)
else:
print(False)
str_이 알파벳이므로 True
여기서 더 들어가, 대문자, 소문자를 구분할 수 있습니다.
str_.isupper()는 대문자 , str_.islower() 는 소문자
num = '7'
if num.isdigit():
print(True)
else:
print(False)
num 이 숫자이므로 True를 반환합니다.
[ list.count() ]
마지막으로 list.count() 입니다.
해당 리스트에 원하는 값이 몇가지 있는지 count해주는 함수입니다.
list_ = ['a', 'b', 'a']
print(list_.count('a'))
오늘은 프로그래머스 Level 1단계 문제를 풀며 유용하게 사용했던 함수들을 알아보았습니다.
앞으로 2단계, 3단계 등 난이도를 높여가며 문제를 풀어가 보도록 하겠습니다.
'Python > Programmers' 카테고리의 다른 글
[We-Co] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 - Python (5) | 2022.03.15 |
---|---|
[We-Co] 숫자 문자열과 영단어- KAKAO 코딩테스트 (0) | 2021.08.06 |
[We-Co] 프로그래머스 - 소수 만들기(Python) (0) | 2021.07.30 |