분류 전체보기 249

[프로그래머스] Lv.1 같은 숫자는 싫어 (파이썬)

공간 a를 추가하지 않고 arr만으로 중복을 체크하고 다시 중복을 제거하면 효율성 테스트에서 떨어졌다. 그래서 a에 추가하는식으로 했다. def solution(arr): answer = [] a=[] for i in range(len(arr)-1): if arr[i]!=arr[i+1]: #같지 않다면 a.append(arr[i]) #a에 append a.append(arr[-1]) #마지막 원소 append # for i in range(len(arr)): # if -1 in arr: # arr.remove(-1) # else: # break 다시 한번 for문을 돌리면 효율성 테스트에 떨어진다 answer=a return answer

[프로그래머스] Lv1. 2016년 (파이썬)

금요일을 0번째 요일로 보고 각 달마다 일 수와 b일까지의 일수를 더해준 다음에 7로 나눈다. def solution(a, b): answer = '' k=["FRI","SAT","SUN",'MON','TUE','WED','THU'] #금요일부터 시작 d=0 # 일 수 for i in range(1,a): if i in [1,3,5,7,8,10]: #31일인 달 d+=31 elif i in[4,6,9,11]: #30일인 달 d+=30 elif i == 2: #29일인 달 d+=29 d+=b-1 #b일에서 1빼줌 answer=k[d%7] #일 수를 7로 나눈 나머지 return answer

[프로그래머스] Lv.1 두 개 뽑아서 더하기 (파이썬)

배열의 길이가 100이하이기 때문에 이중 for문을 써도 절대 시간초과가 안난다. 두 값을 더한 것을 정답배열에 넣고 요리조리 볶아준다. def solution(numbers): answer = [] for i in range(len(numbers)-1): for j in range(i+1,len(numbers)): answer.append(numbers[i]+numbers[j]) #두 숫자를 더한 값 append answer=list(set(answer)) #중복값 제거 answer.sort() #오름차순으로 return answer