알쿼리즘: 파이썬 코드훈련 25, 26, 27번
2024. 7. 5. 19:31ㆍ전처리/PYTHON
01 나누어 떨어지는 숫자 배열
def solution(arr, divisor):
answer = sorted([x for x in arr if x%divisor == 0])
if len(answer) == 0:
return [-1]
else:
return answer
02 음양 더하기
def solution(absolutes, signs):
return sum([absolutes[i] if signs[i] == True else -absolutes[i] for i in range(len(absolutes))])
1. 삼항 연산자를 사용할 경우 if else문이 for문보다 뒤에 올 수 없다.
2. zip함수를 사용하면 한 번에 두 변수를 받을 수 있어서 간단하다.
3. 이전 문제는 else를 쓰지 않아서 for문보다 이후에 배치했다.
return sum([a if b==True else -a for a, b in zip(absolutes, signs)])
03 정규표현식으로 개인정보 보호하기
def solution(phone_number):
import re
return re.sub(r'\d(?=\d{4})','*',phone_number)
1. 문자열 앞에 r이나 R을 붙이면, 해당 문자열이 "raw string"으로 처리된다. 정규표현식에 사용되는 백슬래시를 이스케이프 문자로 처리하지 않음을 의미한다.
2. (?=\d{4}) 코드는 긍정적 전방 탐색(positive lookahead)을 사용하여 (n자리의) 숫자 다음에 네 개의 숫자가 있는 경우만 일치시킨다.
3. re.sub()함수 코드에서 전방 탐색을 사용하여 마지막 네 자리는 변경되지 않도록 한다.
'전처리 > PYTHON' 카테고리의 다른 글
알쿼리즘: 완전제곱수를 이용한 약수의 개수 판별 (0) | 2024.07.15 |
---|---|
알쿼리즘: 파이썬 코드훈련 28, 29, 30번 (0) | 2024.07.09 |
알쿼리즘: 파이썬 코드훈련 22, 23, 24번 (0) | 2024.07.02 |
알쿼리즘: 파이썬 코드훈련 19, 20, 21번 (0) | 2024.07.01 |
문자열을 거꾸로 만드는 슬라이드 표기법 (0) | 2024.06.24 |