프로그래머스 2

[프로그래머스 level3] 배달

[프로그래머스 level3] 배달 https://programmers.co.kr/learn/courses/30/lessons/12978 해결방안 다른 사람들의 해결방안을 보니 보통 bfs로 이용한 것 같음 다익스트라 역시 2차원 배열로 인접리스트를 이용한 것이라고 생각하면 됨 시작점에서 시작하여 모든 값을 확인하면 되니 다익스트라를 이용하면 될 것이라고 생각함 다익스트라 알고리즘에 대해서 모른다면 먼저 보고 오는것을 추천 알고리즘 순서 기본적으로 인접 리스트를 생성 각 노드까지의 거리를 저장하기 위해 노드의 갯수만큼 배열을 생성 하고 큰 수로 초기화 양방향이기 때문에 양쪽 인접리스트에 모두 거리와 노드를 삽입 시작점에서 출발하는 다익스트라 함수 실행 기본적으로 출발점의 거리는 0으로 셋팅 노드를 최소힙에..

알고리즘 2020.10.09

[프로그래머스 level2] 주식 가격

https://programmers.co.kr/learn/courses/30/lessons/42584 해결방안 for문 한개와 while문 한개 사용 (다른 사람들이 for문 2개를 쓴것과는 큰 차이가 없지만, Queue혹은 Stack을 이용해서 해결하고 싶었음) 다른 사람들 같은 경우는 for문 2개를 이용하거나, stack을 이용해서 해결한 것 같다. 15분에서 20분정도 고민 알고리즘 순서 일단 모든 원소를 Queue에 삽입 Queue에서 원소를 하나 뽑음 뽑은 애와 Queue의 원소 비교 다음 원소가 있다면 일단 count증가 무조건 처음에는 가격이 떨어지지 않음 뽑은 원소와 다음 원소의 값을 비교 뽑은 원소가 더 크거나 같다면 count 증가 뽑은 원소가 더 작을 경우 반복문 탈출 Queue의 ..

알고리즘 2020.09.23