본문 바로가기
  • FREEDOM

파이썬풀이3

[Python] 주식가격 스택 응용 풀이 def solution(prices): answer = [] postv = 0 for i in range(len(prices)): #계속해서 떨어지지 않는단 가정의 기본 값 삽입 pos = len(prices)-i-1 answer.append(pos) #비교를 위한 값 설정 if i > 0: test = i-1 testv = prices[i] postv = prices[i-1] while i>0 and postv > testv and test>-1: #떨어지는 위치까지의 거리 값 변경 및 이전 결과에 대한 break point if answer[test]>i-test: answer[test]=i-test #이전 값과 비교 test=test-1 postv=prices[test] return.. 2021. 11. 16.
[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]게임 맵 최단거리 BFS 너비 우선 탐색 풀이 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 .. 2021. 9. 30.