분류 전체보기 665

[혼자 공부하는 파이썬] 3주차 01 - 4장 01

3주차 분량: 4장 기본 미션: 리스트, 딕셔너리, 범위 자료형에 대해 이해한 내용을 바탕으로 포스팅하기 선택 미션: 157쪽의 1번 문제의 답 쓰고 인증샷 Chapter 04 반복문 1. 리스트와 반복문 리스트(list): 여러가지 자료를 저장할수 있는 특별한 형태의 자료 ex) arr1=[1,2,3,4], arr2=[23,'str',True] arr1[0]->1: 여기서 element(요소)는 1이고, index(인덱스)는 0 arr2[-2]->'str' : 파이썬은 뒤에서부터 선택할수있음 arr2[-2][1] ->'t': 이중으로 사용 가능 arr3=[[1,2,3],[True,False],['aass','sinawi','python']] : 리스트 안에 리스트 사용가능 IndexError 예외 - ..

STUDY/Python 2019.10.26

[프로그래머스] LEVEL2 다리를 지나는 트럭,python3, 스택/큐

def solution(bridge_length, weight, truck_weights): answer = 0 ing=[] # 다리를 건너는 트럭 cnt=[] # 트럭당 지난 거리 ed=[] # 다리를 지난 트력 while 1: if (truck_weights == []) and (ing == []): break answer+=1 # count total time for i in range(len(cnt)): # decrease the times of trucks above the bridge cnt[i]-=1 if (cnt!=[])and(cnt[0]==0): ed.append(ing[0]) del cnt[0] del ing[0] if (sum(ing) max_weight: bridge.append(0..

STUDY/Algorithm 2019.10.22

[프로그래머스] LEVEL1 최대공약수와 최소공배수, python3

def solution(n, m): answer = [] if n>m: # m is always bigger tmp=m m=n n=tmp tmp_big=m #initial settings tmp_small=n gcd=tmp_big%tmp_small #최대 공약수, Euclid algorithm, m=n*i+x -> m'=n, n'=x -> while (gcd):#나머지가 있으면 tmp_big= tmp_small tmp_small=gcd gcd=tmp_big%tmp_small answer.append(tmp_small) #최소 공배수 answer.append(n*m/(answer[0])) return answer 최대 공약수 구하는 알고리즘을 몰라서 하나씩 다 찾아보면서 해봤는데 통과할수 없었다. 그래서 ..

STUDY/Algorithm 2019.10.19

[프로그래머스] 제일 작은 수 제거하기,python3

def solution(arr): answer=arr arr=sorted(arr,reverse=True) tmp=arr.pop() answer.remove(tmp) if answer==[]: answer.append(-1) return answer 다른 사람 풀이를 보니 정말 간단하게 풀었더라. 나는 정렬한 리스트에서 마지막값(최소값)을 빼서 제거하는 방법인데 이풀이는 아예 리스트의 최소값보다 큰값만 가져오는 거다. 역시 사람은 배워야한다. 저런 유형을 계속 보는거 같은데 아직 사용하기는 힘들다 def solution(arr): answer = [i for i in arr if i > min(arr)] if answer == []: answer.append(-1) return answer

STUDY/Algorithm 2019.10.19

[프로그래머스] LEVEL1 정수 내림차순으로 배치하기,python3

def solution(n): answer = 0 tmp='' m=list(str(n)) m.sort() m.reverse() for i in m: tmp+=(i) answer=int(tmp) return answer 다른사람이 했던 코드도 나랑 방법은 비슷한데 더 짧게 썼다. sort안에 reverse=True 하면 반대로 정렬... def solution(n): ls = list(str(n)) ls.sort(reverse = True) return int("".join(ls)) def solution(n): num=list(str(n)) num.sort(reverse=True) answer=" " for k in num: answer+=str(k) return int(answer)

STUDY/Algorithm 2019.10.19