👨💻📱✍️🎢314 BOJ 19941 - 햄버거 분배 문제 백준 온라인 저지 - 19941번 풀이 과정 햄버거와 사람의 위치가 주어질 때 가장 많은 햄버거를 먹는 방법을 찾는 그리디 문제입니다. 일정 범위내의 햄버거를 먹을 수 있기 때문에 왼쪽부터 오른쪽으로 하나씩 먹을 수 있는 햄버거를 찾으면 됩니다. 코드 import sys N, K = list(map(int, sys.stdin.readline().split())) table = sys.stdin.readline().strip() def solution(): eat = [0] * N answer = 0 for i in range(N): if table[i] == 'P': for offset in range(-K, K + 1): ni = i + offset if 0 2021. 3. 8. BOJ 16469 - 소년 점프 문제 백준 온라인 저지 - 16469번 풀이 과정 넉살, 스윙스, 창모 세 사람의 좌표가 주어질 때 마미손 이 위치할 수 있는 좌표를 찾는 문제입니다. 맨 처음 접근 방법은 마미손 은 세 사람이 모일 수 있는 한 좌표까지의 거리 값이 가장 짧은 곳에 위치하기 때문에 이를 위해서 각 점에 대해서 다익스트라 알고리즘으로 최단 거리를 계산했었습니다. 그러나 이 경우 시간 복잡도가 O(V^2*ElogV) 이기 때문에 시간 초과가 발생하였고, 다른 방법으로의 접근이 필요했습니다. 생각해보면 모든 좌표에서 다익스트라 를 수행할 필요 없이 그냥 넉살, 스윙스, 창모 세 사람을 기준으로 탐색을 수행한 다음, 각 좌표들에 대해서 거리 최댓값끼리 비교해주면 됩니다. 따라서 그냥 BFS 를 이용해서 세 사람을 시작지점으로 .. 2021. 3. 5. BOJ 13565 - 침투 문제 백준 온라인 저지 - 13565번 풀이 과정 섬유의 바깥쪽에서 안쪽으로 침투가 가능한지 판단하는 BFS 문제입니다. 0번째 행에서 시작해서 M-1 번째 행에 도달 가능한지 판단하면 됩니다. 코드 import sys from collections import deque M, N = list(map(int, sys.stdin.readline().split())) board = [list(sys.stdin.readline().strip()) for _ in range(M)] dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] def in_range(x, y): return 0 2021. 3. 5. multer 모듈을 활용한 이미지 파일 업로드 튜토리얼 게시판에 이미지 업로드 기능 추가하기 multer 모듈 multer 모듈은 multipart/form-data 를 처리하기 위한 node.js 미들웨어입니다. 이번 포스팅에서는 지난 포스팅에 이어서 node.js 에서 이미지(파일)를 업로드하는 방법에 대해 살펴보겠습니다. 현재 게시판 글쓰기 필드에는 다음과 같이 이미지 업로드 기능이 없는 상태라서 multer 모듈을 통해 게시글마다 이미지를 업로드하고 데이터베이스에 저장하도록 하겠습니다. 패키지 설치 $ npm i multerMySQL 컬럼 추가 기존의 게시글 테이블은 다음과 같은 형태를 띄고 있습니다. mysql> desc board; +------------+--------------+------+-----+---------+-------------.. 2021. 3. 5. Node.js와 MySQL를 이용한 게시글 작성하기 튜토리얼 MySQL 연동 방법 Node.js 에서 MySQL을 사용하기 위해서는 Sequelize 를 사용할 수도 있지만 이번 포스팅에서는 raw query문을 사용하기 위해 직접 mysql을 연동하는 과정을 진행해보도록 하겠습니다. MySQL 데이터베이스 생성 mysql 접속 터미널에 다음과 같은 명령어를 입력한 뒤 암호를 입력하고 DB에 접속합니다. $ mysql -u root -p database 및 table 생성 데모를 위해 tutorial 이라는 데이터베이스를 생성하도록 하겠습니다. mysql> create database tutorial; 그리고 tutorial 데이터베이스에 게시글 정보를 담을 board 테이블을 생성합니다. mysql> use tutorial; mysql> create table .. 2021. 3. 5. LeetCode 112 - Path Sum (Easy) 문제 LeetCode - 112번 풀이 과정 루트 노드부터 시작해서 잎 노드까지의 경로 중 합이 S 인 경우가 존재하는지 찾는 문제입니다. DFS 를 활용해서 모든 경우를 탐색할 수 있으며 루트 노드 배열이 비어있는 경우에 유의하면 쉽게 해결할 수 있습니다. 코드 /** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined ? null : right) * } */ /** * @param {TreeNode} .. 2021. 3. 4. 이전 1 ··· 33 34 35 36 37 38 39 ··· 53 다음