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
'💻 하나씩 차곡차곡 > 프로그래머스 (Python)' 카테고리의 다른 글
코딩테스트 입문 Day14 - 369게임, 암호해독, 대문자와 소문자, 가까운 수 (0) | 2023.03.06 |
---|---|
코딩테스트 입문 Day13 - 컨트롤제트, 배열 원소의 길이, 중복된 문자 제거, 삼각형의 완성조건 (0) | 2023.03.05 |
코딩테스트 입문 Day11 - 최대값 만들기(1), 팩토리얼, 주사위의 개수, 합성수 찾기 (0) | 2023.03.02 |
코딩테스트 입문 Day10 - 점의 위치 구하기, 2차원으로 만들기, 공 던지기, 배열 회전 시키기 (0) | 2023.02.28 |
코딩테스트 입문 Day09 - 개미 군단, 모스 부호(1), 가위 바위 보, 구슬을 나누는 경우 (0) | 2023.02.26 |