본문 바로가기

전체 글88

쿠키란 무엇인가요? 쿠키란 무엇일까?서버가 브라우저에 저장해두고 다시 받아오는 데이터, 또는 이러한 기술 이때 핵심은 데이터를 브라우저에 저장해둔다는 것인데 어차피 다시 받아올 데이터 그냥 서버에 저장해두면 될 것을, 왜 굳이 브라우저에 저장해두는 것일까? 쿠키를 왜 사용할까? 오늘날에는 서버 장비의 가격이 저렴하고 다양한 클라우드 서비스를 사용할 수 있지만 과거에는 그렇지 못했다. 예를 들어 사용자 한 명당 1KB의 데이터를 저장해두어야 한다고 할 때 사용자가 백 만 명만 되어도 1GB의 저장공간이 필요하게 되는데, 서버 장비의 가격이 비싸고 클라우드 서비스가 존재하지 않았던 과거에는 서버가 이를 오롯이 감당하기란 어려웠다. 이를 해결하기 위해 데이터 일부는 클라이언트가 저장하도록 하였는데, 이것이 곧 쿠키인 것이다. 이.. 2024. 11. 12.
백준 1152번 백준 1152번을 풀어보았다.let input = require('fs').readFileSync('/dev/stdin').toString().trim()console.log(input.split(' ').length) 분명 문제에 주어진 예제 입력들에 대해선 정답을 출력해내는데 틀렸습니다! 가 나왔다. 알아보니 빈 문자열이 입력으로 들어오는 경우 0을 출력해야 하는데 위 코드는 1을 출력하는 것이 문제였다. 빈 문자열이 입력으로 들어올 경우 input은 [""]이 되고 input.split(' ').length는 1이 된다. 따라서 아래와 같이 입력값이 빈 문자열인 경우가 아닌 경우로 구분해주어야 한다.let input = require('fs').readFileSync('/dev/stdin').toS.. 2024. 11. 8.
백준 2675번 백준 2675번을 풀어보았다.let [T, ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map((value) => value.trim())input = input.map((value) => value.split(" "))let output = ''for (let i = 0; i  정답을 출력해내기는 하지만 for 문을 3번이나 중첩하였다. 이때 repeat 메소드와 map 메소드를 사용하면 for 문 중첩 횟수를 줄일 수 있다. 참고) 백준 25314번 1. repeat 메소드let [T, ...input] = require('fs').readFileSync('example.txt').toString().split.. 2024. 11. 8.
백준 10809번 백준 10809번을 풀어보았다.let S = require('fs').readFileSync('/dev/stdin').toString()let output = ''for (let i = 'a'.charCodeAt(); i  위 풀이에서 사용된 charCodeAt(), fromCharCode(), indexOf() 메소드를 정리해보자. charCodeAt()문자열.charCodeAt(인덱스) charCodeAt() 메소드는 특정 문자열의 특정 인덱스에 해당하는 문자의 아스키 코드 값을 반환한다. 인덱스를 입력하지 않으면 0번 인덱스에 해당하는 문자의 아스키 코드 값을 반환한다.> console.log('a'.charCodeAt())97> console.log('ab'.charCodeAt())97> cons.. 2024. 11. 8.