본문 바로가기

전체 글

(84)
백준 20040 사이클 게임 https://www.acmicpc.net/problem/20040 20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net 본 문제는 전형적인 유니온 파인드 문제이다. 혹시라도 유니온-파인드 알고리즘이 생소하신 분은 이 링크를 참조하여 훑어보기 바란다. 유니온-파인드를 이해하고 잘 적용할 수 있다면 비교적 평이한 문제일 수 있지만, 주의해야 할 부분이 있어서 포스팅하게 되었다. 파이썬 언어를 사용할 경우, 스택 깊이가 1000으로 기본 설정되어있는데, 이 깊이를 키우기 위해서는 아래와 같이 해야 한다. sys.s..
백준 11883 생일수 I https://www.acmicpc.net/problem/11883 11883번: 생일수 I 승현이는 1998년 3월 5일에 태어났습니다. 그래서 승현이는 자신의 생년월일에 있는 수들 중에서 3, 5, 8을 굉장히 좋아합니다. 이에 승현이는 10진수로 표현했을 때 3, 5, 8로만 구성되어 있는 자연 www.acmicpc.net 전형적인 다이나믹 프로그래밍 문제이다. 다만 몇 가지 신경 쓸 부분이 있다. 예제에서 주어진 11을 보자. 11은 3+8=11 이어서 38로 생일수를 만들 수 있다. 이 문제를 풀기 위해서는 3, 5, 8을 차례대로 활용하여 합산 해나가 11을 완성하면 된다고 생각할 수 있다. dp[i]자리에 3, 5, 8등을 넣어주고, dp[목표값]을 읽어서 그 자리에 8이 있다면, dp[목표..
컴퓨터 네트워크 I 본 카테고리는 컴퓨터 네트워크에 대해 공부한 내용을 정리하는 공간으로 활용할 예정이다. 기본적인 내용으로 처음부터 끝까지 훑고, 이후에 부족한 부분을 수정 및 보완하여 개선해 나갈 계획이다. = 컴퓨터 네트워크의 종류 = 컴퓨터 네트워크는 사실 단 2대의 컴퓨터로도 만들 수 있다. 메시지나 파일 등의 데이터를 주고받을 수 있는 '엮임'이 형성되면 네트워크가 구성되었다고 말할 수 있다. 그리고 대수가 많아질수록 규모가 커지는 것이다. LAN(Local Area Network)이나 WAN(Wide Area Network)같은 근거리, 원거리로 나누는 네트워크 구분이 있다. 여러 네트워크 중에서도 가장 큰 규모를 갖는 것이 바로 인터넷이다. 그 외에도 모바일 기기를 연결해주는 무선 네트워크(또는 모바일 네트워..
Node.js에서 MySQL다루기 (싱글턴, 커넥션 관리, 커넥션 pool 생성) 노드를 통해 서버 api를 만드는 과정에서 데이터베이스를 다루는 일은 기본적이고 필수적이다. mysql모듈을 통해 MySQL을 다루는 과정을 다루어 보겠다. 데이터베이스를 다루는 과정에서 비동기 처리는 필수적이다. 비동기 처리에 관한 글은 여기를 보기 바란다-> https://t-anb.tistory.com/76 기본적인 형식은 connection객체(conn)를 만들고, 그 객체에 붙어있는 메서드(query)를 활용해 쿼리문을 실행하는 방식이다. 아래와 같다. const mysql=require('mysql') const connectionSetting={ host:..., port:..., user:..., password:..., multipleStatements:..., database:..., ..
MySQL 계정 생성 (user 생성 with mysql_native_password) Node.js를 통해 MySQL을 다루다보면 아래와 같은 에러를 만날 경우가 있다. “Client does not support authentication protocol requested by server; consider upgrading MySQL client” 노드에서 MySQL을 다루기 위한 모듈이 지금은 mysql2도 있고, 다른 것도 몇가지 있는 것으로 알고 있다. 하지만 그냥 mysql.js를 사용한다면 주의해야 할 부분이 있다. 그리고 첫줄에 있는 에러도 만날 수 있다. MySQL은 이제 새로운 인증방식으로 caching_sha2_password를 사용한다. 따라서 유저를 생성하면 디폴트로 그 방식을 사용하게 된다. 하지만 mysql모듈을 통해 노드에서 해당 유저에 접근하려고 하면 에러가..