본문 바로가기

분류 전체보기121

[개념] 다익스트라 알고리즘 간단한 다익스트라 알고리즘은 O(V^2)의 시간 복잡도를 가진다. ( V는 노드의 개수 ) ✔ 방법 1 import sys input = sys.stdin.readline INF = int(1e9) # 노드의 개수, 간선의 개수 입력 받기 n, m = map(int, input().split()) # 시작 노드 번호를 입력 받기 start = int(input()) # 각 노드에 연결 되어 있는 노드에 대한 정보를 담는 리스트 만들기 graph = [[] for i in range(n+1)] # 방문한 적이 있는지 체크하는 목적의 리스트 만들기 visited = [False] * (n+1) # 최단 거리 테이블을 모두 무한으로 초기화 distance = [INF] * (n+1) # 모든 간선 정보를 입력.. 2023. 8. 3.
[백준 2579번] 계단 오르기 문제 풀이 1. 계단이 1, 2개 일때는 모두 더한 값이 최대 값이다. 2. 계단이 3개 이상일 때는 현재 계단을 k (k>=3)번 이라 할때, (price[k] + price[k-2])와 price[k] + price[k-1] + price[k-3]) 의 값을 비교하여 최댓값을 저장해주어야 한다. n = int(input()) s = [int(input()) for _ in range(n)] # 각 계단의 점수 리스트 max_score = [0] * (n) if len(s) 2023. 8. 2.
[10강] 페이스북 로그인 💟 준비 1. 페이스북 콘솔 API 를 검색해서 로그인 한다. 2. 앱 만들기를 누르고, 용도를 선택한다. 3. 설정에 있는 앱 ID 와 앱 시크릿 코드를 따로 컴퓨터에 저장해둔다. 준비 완료!! 💗 개발 1. application.yml 파일에 아까 저장해둔 client-id 와 client-secret을 설정한다. 2. loginForm.html 파일에 facebook 로그인 경로도 추가한다. (이때, oauth를 사용하는 경우 "/oauth2/authorization/facebook"으로 주소가 고정되어 있다.) http://localhost:8080/loginForm에 접속하여 facebook 로그인을 클릭하면 로그인이 잘 연결되는 것을 확인할 수 있다. 2023. 8. 2.
[백준 15486번] 동전 1 문제풀이 이전에 풀던 문제는 다이나믹 프로그래밍을 이용해 최소 개수나 최대 개수를 구하는 것이었는데, 이 문제는 경우의 수를 구하라는 면에서 달랐다. 다이나믹 프로그래밍을 이용해 어떻게 값을 저장해야 좋을지 고민하였다. 가치 k가 되는 경우의 수 문제를 가치 i (1 2023. 8. 1.