프로그래머스(파이썬)
음양 더하기→zip()★ + enumerate()★
나의 풀이 import numpy as np def solution(absolutes, signs): for i in range(len(signs)): if signs[i] == True: absolutes[i]=absolutes[i] else: absolutes[i]=-absolutes[i] return sum(absolutes) 다른 사람의 풀이 def solution(absolutes, signs): answer=0 for absolute,sign in zip(absolutes,signs): if sign: answer+=absolute else: answer-=absolute return answer ▶ zip() 함수를 이용하자
제일 작은 수 제거하기 →remove(), or ★
나의 풀이 def solution(arr): min = 20000000 for i in range(len(arr)): if min>arr[i]: min =arr[i] index=i print(min, index) arr.pop(index) if len(arr) == 0 or len(arr)==1: return [-1] return arr 다른 사람의 풀이 def solution(arr): arr.remove(min(arr)) return arr or [-1]
나누어 떨어지는 숫자 배열→ or [-1]★, for문 + list compehension
나의 풀이 def solution(arr, divisor): answer = [] for i in arr: if i % divisor ==0: answer.append(i) if len(answer) == 0: return [-1] return sorted(answer) 다른 사람의 풀이 def solution(arr, divisor): return sorted([i for i in arr if i %divisor == 0]) or [-1]
핸드폰 번호 가리기★
나의 풀이 def solution(phone_number): str ="" for i in range(len(phone_number)-4): str+="*" number=phone_number[-4:] return str+number 다른 사람의 풀이 def solution(s): return "*"*(len(s)-4) + s[-4:] ▶ 문자열 곱하기가 된다는 것에 주의 하자