클라이언트 사이드 랜더링을 기준으로 설명합니다.카카오 공식문서: https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com에서 순서도를 참고하면 좋습니다.알면 좋은 점1. 소셜 로그인은 (백엔드 or프론트)한 부분에서 전부 맡아서 진행하는 게 안정적이다.2. 상태관리는 백엔드에서만 진행한다.명칭 얼라인1. Service Client: 프론트(리액트)2.Service Server: 백엔드(스프링)3. Kakao Auth Server: 카카오 인증 서..
[HSAT 6회 정기 코딩 인증평가 기출] 출퇴근길 문제를 풀다가 인자로 배열 100,000개를 100,000번 호출한 정답과전역변수를 사용해서 효율적으로 처리한 정답이 거의 동일한 시간초가 나왔다.100,000 X 100,000 = 4*100억 byte이다.그렇다면 10Gbyte를 사용한 것인데 시간초과도 안 뜨고 왜 가장 큰 문제인 memory exceed도 나지 않았을까? https://softeer.ai/practice/6248 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 해당 코드는 다음과 같다.def dfs(now, adj, visit): # 목적지 if visit[now]==1: return else: visit[now] = ..
# 신장트리(Spanning Tree) 신장(spanning): 간선의 갯수를 가장 작게 노드를 전부 이어라.(= n-1개) n개 정점 n-1개의 노드 # 최소 신장트리(MST: Minimum Spanning Tree) 네트워크에 있는 모든 정점들을 가장 적은 수의 (간선 + 비용)으로 연결 최소: 비용을 가장 작게 신장: 최소한의 간선으로(= n-1개) => 즉 최소신장트리는 싸이클이 없다. # 크루스칼 알고리즘 그리디: 전체적인 해답을 찾는다는 희망으로 매 순간 최선의 선택을 하는 것. 과연 근데 그게 궁극적으로 최선인 걸까? ex) 네비지도를 보고 가다가 잠시 빠른 길로 간 게 뒤에가 다 막히는 길이여서 더 늦을 수 있음. => 따라서 매 순간 최선의 선택이 최적의 해답임을 보장할 수 없음. 그런데..
https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # Prim 알고리즘 heapq 사용x, 정통알고리즘 INF = float('INF') def prim(n, costs, x): selected = [False]*n # 우리편 distance = [INF]*n # 가중치를 담는 배열 adj_mat = [[INF]*n for _ in range(n)] # 인접행렬 # 1)graph init for c in costs: adj_mat[c[0]][c[..
자료구조 시간에 heap은 Priority Queue라고 배웠습니다. 그럼 파이썬 라이브러리에서는 2개 다 존재하는데 이 차이점은 뭘까? 내부로직은 heapq를 사용하고 있었다. 그럼 차이점은 뭘까? https://stackoverflow.com/questions/36991716/whats-the-difference-between-heapq-and-priorityqueue-in-python What's the difference between heapq and PriorityQueue in python? In python there's a built-in heapq algorithm that gives you push, pop, nlargest, nsmallest... etc that you can ap..
자료구조 시간에 heap은 Priority Queue라고 배웠습니다. 그럼 파이썬 라이브러리에서 이 차이점은 뭘까? 차이점을 알기 위해서는 선행되어 알아야 하는 개념 2가지가 필요합니다. 1) GIL 2) thread-safe, Thread-Non-Safe # 선행되는 개념보고 다음글로 넘어가기 👉 👉 https://codewizard.tistory.com/53 [Python] Priority Queue, heapq의 차이점 자료구조 시간에 heap은 Priority Queue라고 배웠습니다. 그럼 파이썬 라이브러리에서는 2개 다 존재하는데 이 차이점은 뭘까? 내부로직은 heapq를 사용하고 있었다. 그럼 차이점은 뭘까? https://stackoverf codewizard.tistory.com # GI..
https://www.acmicpc.net/problem/7569 7569번: 토마토첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100,www.acmicpc.net # 문제철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다.창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마..
https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가하는 부분 수열수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는www.acmicpc.net# 문제수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다..
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)www.acmicpc.net 문제이 문제는 아주 평범한 배낭에 관한 문제이다.한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다.준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물..
알고리즘 bfs문제(2차원배열) 문제를 풀 때, index가 나가지 않도록 예외처리를 해야 한다. 이때 move = [(0,-1),(0,1),(-1,0),(1,0)] for dx,dy in move: px = x + dx py = y + dy if 0