Dev

· BOJ - JS
문제 등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다. 캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다. 강산이는 이제 막 28일 휴가를 시작했다. 이번 휴가 기간 동안 강산이는 캠핑장을 며칠동안 사용할 수 있을까? 강산이는 조금 더 일반화해서 문제를 풀려고 한다. 캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까? (1
· BOJ - JS
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고..
· BOJ - JS
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 ..
· BOJ - JS
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 문제 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까? 입력 입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l..
· BOJ - JS
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의..
· Testing
node-mocks-http 란? 핵심만 말하자면 Express.js, Next.js 애플리케이션에서 라우팅 함수를 테스트 하기 위해 http 객체(request, response)를 생성할때 사용한다. 실제로 restAPI를 통해 http 통신을 할때 request 와 response 객체를 정말 많이 마주하지만 이를 테스트하기 위해 http 객체를 모킹하는 방법이 번거롭고 까다롭다. 하지만 node-mocks-http를 사용하여 간단하게 express/next.js의 request, response mock 객체를 생성할수있다. 글로 설명하는 하는 것 보다 아래 설치 및 사용법에서 예시 코드와 함께 정리해보려 한다. node-mocks-http 설치 및 사용법 1. node-mocks-http 설치 ..
· Testing
jest.fn() 이란? 테스트 코드 수행 시 mock 함수를 생성하는 함수이다. mock의 사전적 의미는 "거짓으로", "모조의" 라는 뜻으로 해당 테스트 코드가 의존하는 부분을 가짜 함수로 대체하는 함수이다. 의존적인 부분의 상태에 따라 테스트하고자 하는 부분의 테스트 결과가 영향을 받을 수 있기에 jest.fn()을 사용하여 의존하는 부분을 대체하는 것이다. 예를 들어 Database에 데이터를 저장하는 테스트를 진행한다고 가정해보자. 실제로 DB를 사용하여 테스트하는 경우 Network, I/O 같은 작업으로 인해 실행 속도가 저하될 수 있고 프로젝트 규모가 커지면 이러한 속도 저하의 원인은 큰 이슈를 초래할 수있다. 그 뿐만 아니라 데이터를 전송하는 과정중 Network 상태로 인해 정상적으로 ..
· CS/Web
쿠키와 세션을 사용하는 이유 HTTP는 기본적으로 무상태(Stateless) 프로토콜이다. 이말은 즉슨 클라이언트와 서버가 요청을 주고 받으면 연결이 끊어지게 되고 클라이언트가 다시 요청시 서버는 이전요청을 기억하지 못한다. 클라이언트와 서버는 서로 상태를 유지하지 않는다는 의미이다. 하지만 실제로는 상태를 유지해야 하는 경우가 많다. 예시로 로그인한 사용자만 접속할 수 있는 페이지가 있다고 가정하면 해당 페이지에 매번 접근할때마다 로그인을 다시 해야한다. 이렇게 Stateful한 경우를 대처하기 위해서 쿠키와 세션을 이용한다. 쿠키(Cookie) 특징 및 저장방식 key, value, expires(만료일), path 정보로 구성 클라이언트가 서버에서 받은 쿠키를 로컬(브라우저)에 저장하고, HTTP ..
kyuuuun
'분류 전체보기' 카테고리의 글 목록 (2 Page)