💻 하나씩 차곡차곡/프로그래머스 (Python)
코딩테스트 입문 Day12 - 모음 제거, 문자열 정렬하기(1), 숨어있는 숫자의 덧셈(1), 소인수분해
뚜루리
2023. 3. 3. 07:13
728x90
320x100
모음 제거
import re
def solution(my_string):
answer = ''
answer = re.sub("a|e|i|o|u", "", my_string)
return answere.sub(r"a|e|i|o|u", "", my_string)
- 이 알고리즘 풀면서 정규식을 제공하는 re내장 라이브러리를 알게 되었읍니다 껄껄
def solution(my_string):
answer = ''
for i in my_string:
if i not in ['a', 'e', 'i', 'o', 'u']:
answer += i
return answer
문자열 정렬하기(1)
import re
def solution(my_string):
answer2 = list(re.sub(r'[^0-9]', '', my_string))
answer2.sort()
answer = [int (i) for i in answer2]
return answer
- 배열을 싹다 int로 형변환 하고 싶을 땐 아래와 같이 쓰면 된다는 것을 알았읍니다 껄껄
answer = [int (i) for i in answer2]
def solution(my_string):
answer = []
for i in my_string:
if i.isdigit( ):
answer.append(int(i))
answer.sort()
return answer
- isdigit() : 숫자인지 아닌지 판별하는 함수를 사용.
숨어있는 숫자의 덧셈(1)
import re
def solution(my_string):
answer2 = list(re.sub(r'[^0-9]', '', my_string))
answer2 = [int (i) for i in answer2]
answer = sum(answer2)
return answer
- 와 씨 배열 덧셈을 for문 안돌리고 저렇게 간결하게 할수 있다고..? 했지만 자바에도 내장 라이브러리 있었음 ㅈㅅ
def solution(my_string):
answer = 0
for i in my_string:
if i.isdigit():
answer += int(i)
return answer
소인수분해
def solution(n):
answer = []
d = 2
while d <= n:
if n % d == 0:
answer.append(d)
n = n // d
else:
d += 1
return list(dict.fromkeys(answer))
- dict.fromkeys()를 사용하면, 순서는 유지한 채 중복값들을 제거할 수 있다고 함.
728x90
320x100