본문 바로가기

분류 전체보기159

[Baekjoon] 백준 알고리즘: 11899 - 괄호 끼워넣기 문제 https://www.acmicpc.net/problem/11899 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net 내가 생각했던 풀이과정 1. 스택을 이용해서 푸는 문제입니다. 2. 괄호가 올바른지 확인을 해야합니다. 1. 여는 괄호가 나오면 스택에 추가 2. 닫는 괄호가 나왔을 경우 2-1) 스택이 비어있으면 올바르지 않은 괄호 쌍 2-2) 스택의 top이 짝이 맞지 않는 괄호일 경우 올바르지 않은 괄호쌍 2-3) 스택의 top이 짝이 맞는 괄호일 경우 pop 3. 모든 과정을 끝낸 후 스택에 괄호가 남아있으면 올바르지 않은 괄호 쌍, 남아 있지 않.. 2021. 6. 19.
[Node.js] 사용량 제한 구현하기 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 인증된 사용자라고 해도 과도하게 API를 사용하면 API 서버에 무리가 갑니다. 따라서 일정 기간 내에 API를 사용할 수 있는 횟수를 제한하여 서버의 트래픽을 줄이는 것이 좋습니다. 또한 한 사람이 새로고침을 여러번 해서 여러번 공격하는 것을 DOS 공격, 여러 사람이 여러번 공격하는 것을 DDOS 공격 등을 대비해야합니다. 일정 시간동안 횟수 제한을 두어 무차별적인 요청을 막을 필요가 있습니다. npm 설치 npm i express-rate-limit express-rate-limit 사용하기 const RateLimit = require('express-rate-limit'.. 2021. 6. 14.
[Baekjoon] 백준 알고리즘: 1302 - 베스트셀러 문제 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 내가 생각했던 풀이과정 1. N의 갯수만큼 책 이름을 입력받으면서 lower( ) 메서드를 통해 소문자로 전부 바꿔준다. 2. 해시를 사용하기 위해 book이라는 빈 딕셔너리 구조를 선언한다. 입력을 받으면서 1) 해시의 keys 안에 만약 이전에 해당되는 key가 존재할 경우 해당되는 key의 value에 1을 더해준다. 2) 해시의 keys 안에 만약 이전에 해당되는 key가 존재.. 2021. 6. 14.
[Node.js] JWT 토큰으로 인증하기 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 코드리뷰 시간에 토큰에 대해 질문을 받았었는데, 프로젝트에 계속 적용하여 사용하는 방법은 알고있었지만, 정확히 개념정리를 해야할 것 같아 정리를 하게 되었습니다. 다른 클라이언트가 데이터를 가져가게 하려면 인증과정이 필요합니다. 이 때 토큰이 필요한데 JWT 토큰으로 알아보려고 합니다. JWT는 JSON Web Token의 약어로, JSON 형식의 데이터를 저장하는 토큰입니다. JWT는 다음과 같이 세 부분으로 구성되어 있습니다. 헤더(Header) : 토큰 종류와 해시 알고리즘 정보가 들어 있습니다 페이로드(Payload) : 토큰의 내용물이 인코딩된 부분입니다. 시그니처(Si.. 2021. 6. 14.