본문 바로가기
728x90

알고리즘21

[Programmers] 풍선 터트리기 풍선 터트리기 파이썬을 사용하였습니다. 입력 일렬로 나열된 풍선들의 번호가 담긴 배열 a 출력 풍선들을 1개만 남을 때까지 터트렸을 때 최후까지 남기는 것이 가능한 풍선들의 개수 제한사항 a 의 길이는 1 이상 1,000,000 이하입니다. a의 모든 수는 서로 다릅니다수. -1,000,000,000 val: left = val leftArray[ind] = left for i in range(len(a)-1,-1,-1): if right > a[i]: right = a[i] rightArray[i] = right for ind,val in enumerate(a): if rightArray[ind] >= val or leftArray[ind] >= val: answer += 1 return answer 2020. 11. 16.
[Programmers] 기능개발 기능 개발 파이썬을 사용하였습니다. 스택/큐 문제 기능개발 입니다. 입력 progresses : 현재 기능 개발 진행상황 speeds : 기능 개발 속도 출력 기능을 배포할때 한번에 몇개씩 배포하는가 제한사항 주어진 작업진도는 100미만의 자연수. 작업속도는 100이하 자연수. 간단한 알고리즘을 사용해서 풀수 있었습니다. pro 리스트를 순회 하며 pro 리스트의 요소가 모두 빠져나갈때 까지 반복합니다. 각 요소들이 100이 넘는지 확인하고 100이 넘는 순간 다음 요소들도 100이 넘는지 확인하는 과정을 거칩니다. 정답 코드 (본 코드에서는 스텍, 큐를 따로 구현하지 않았으나 시간초과가 있지 않았습니다.) def solution(pro, speed): answer = [] while True: num=.. 2020. 11. 14.
Backjoon 1920번 수 찾기 보호되어 있는 글 입니다. 2020. 8. 12.
Backjoon 1012번 유기농 배추 백준 알고리즘 1012번 유기농 배추 DFS를 사용하면 풀수 있는 문제입니다. 이번에는 스택이나 큐를 사용하지 않고 리스트와 리컬시브만을 사용해서 풀어봤습니다. 결국 DFS도 스택큐를 이용한 리컬시브겠죠? 1이 있는 곳에서 상하좌우를 순회하며 1을 다 0으로 바꿉니다. 그럼 sol 함수가 몇번 호출되는지 카운팅 하면 답이 됩니다. 정답 코드 import sys sys.setrecursionlimit(50000) def sol(x,y): mat[x][y]= 0 for i in range(4): mx = dx[i]+x my = dy[i]+y if (0 2020. 8. 12.
728x90