본문 바로가기
  • FREEDOM

Level25

[Python](스택/큐)기능개발 무식한? 직관적 풀이 def solution(progresses, speeds): answer = [] while len(progresses)>0: #하루 진행 for i in range(len(progresses)): if progresses[i]=100: workcount+=1 del_i.insert(0,i) else: break for i in del_i: del progresses[i] del speeds[i] #완료된 일이 있다면 추가 if workcount>0: answer.append(workcount) return answer 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르.. 2021. 10. 12.
[Python]스택/큐 프린터 enumerate를 통해 인덱스 설정 우선순위 큐 def solution(priorities, location): #초기값 설정 answer=1 flist=[] #값과 인덱스로 2차배열 생성 for i,j in enumerate(priorities, start=0): flist.append([j,i]) #출력 될 index가 location일때까지 반복 while 1 : #초기값 설정 maxvalue=flist[0][0] tmp=0 #더 큰 값이 있다면 기준값 변경 for i in range(len(flist)): if flist[i][0]>maxvalue: maxvalue=flist[i][0] tmp=i #기준값 인덱스가 location이면 출력으로 마침 if flist[tmp][1]==location.. 2021. 10. 7.
[Python]짝지어 제거하기 stack을 이용한 풀이 def solution(s): #stack 풀이 tmp=[] for i in range(len(s)): #stack이 비어있으면 넣어준다. if tmp==[]: tmp.append(s[i]) continue #문자가 스텍에 있는 마지막 요소와 같다면 지워준다. #지워주고 다음 문자는 지워진 전과 비교 가능하다. if s[i]==tmp[len(tmp)-1]: del tmp[len(tmp)-1] else: tmp.append(s[i]) #stack에 남은게 없으면 다 지워졌다는 뜻이므로 return 1 if tmp==[]: return 1 return 0 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은.. 2021. 10. 6.
[python]피보나치 수 [2가지 풀이] 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 입출력 예 nreturn 3 2 5 5 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1, 2, 3, 5.. 2021. 9. 14.
[python]2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째 사람은 9를 말한다. 10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉 열한 번째 사람은 10의 첫 자리인 1, 열두 번째 사람은 둘째 자리인 0을 말한다. 이렇게 게임을 진행할 경우, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, … 순으로 숫자를 말하면 된다. 한편 코딩 동아리 일원들은 컴퓨터를 다루는 사람답게 이진수로 이 게임을 진행하기도 하는데, 이 경우에는 0,.. 2021. 9. 14.