프로그래머스(파이썬)/LV.1(파이썬)
없는 숫자 더하기→지혜가 필요함★
나의 풀이 def solution(numbers): answer=[] for i in range(10): if i not in numbers: answer.append(i) print(answer) return sum(answer) 다른 사람의 풀이 def solution(numbers): return 45 - sum(numbers)
음양 더하기→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]