본문 바로가기

전체 글68

[99클럽] 알고리즘 TIL: 백준 17608번 막대기 - JavaScript 문제링크https://www.acmicpc.net/problem/17608풀이방법막대기를 처음부터 순차적으로 살펴볼까 고민했지만 보이는 여부를 하나하나 체크하기엔 복잡할 것이라는 생각이 들어서, 바라보는 시각인 마지막부터 실행을 시키면 단순하게 풀 수 있을 것이라는 생각이 들었다.바라보는 관점에서는 무조건 앞 순서보다 길이가 긴 막대기만 보일 것이기 때문에 이를 기준으로 로직을 구현했다.보이는 개수를 count=0으로 할당하고, 현재 낮은 높이를 min=0으로 할당한다.만약 현재 값이 min값보다 같거나 작으면 안 보이기 때문에 continue로 넘어간다.그렇지 않다면 현재 시각에서 보이는 막대기이기 때문에 count++를 해주고, min값을 현재 값 기준으로 업데이트 해준다.반복문 종료 후 count를.. 2025. 2. 4.
[HTTP 완벽 가이드] 17장 내용 협상과 트랜스코딩 17.1 내용 협상 기법서버에 있는 페이지들 중 어떤 것이 클라이언트에게 맞는지 판단하는 기법클라이언트 주도 협상서버 주도 협상투명 협상 17.2 클라이언트 주도 협상클라이언트가 요청을 보냄 > 서버가 가능한 페이지의 목록을 응답으로 돌려줌 > 클라이언트가 선택하는 방식서버 입장에서 가장 구현하기 쉽지만 각 페이지에 두 번의 요청이 필요해서 대기시간이 늘어나게 된다. 서버가 클라이언트에게 선택지를 주는 방식은 두 가지가 있다.여러 버전에 대한 링크와 각각에 대한 설명이 담긴 HTML 페이지를 돌려주는 방법300 Multiple Choices 응답 코드로 HTTP/1.1 응답을 돌려주는 방법서버 응답을 받은 후에는 링크와 함께 페이지를 보여주거나 사용자가 결정을 할 수 있도록 창을 띄울 수도 있다.클라이언.. 2025. 2. 4.
[HTTP 완벽 가이드] 16장 국제화 16.4~16.6 16.4 언어 태그와 HTTP언어 태그는 언어에 이름을 붙이기 위한 짧고 표준화된 문자열이다. '한국어'를 표현한다고 할 때도 한국어, Korean, Ko, K 등 사용하는 사람에 따라 표시할 수 있는 방법이 다양하기 때문에 표준화된 이름을 사용한다. 모든 태그는 대소문자가 구분되지 않지만 관용적으로 언어를 나타낼 때는 소문자, 국가를 나타낼 때는 대문자를 사용한다.Content-Language 헤더엔터티가 어떤 언어 사용자를 대상으로 하고 있는지 서술한다.# 프랑스어 사용자를 대상으로 하고 있을 때Content-Language: fr# 마오리 언어와 영어가 모두 사용되는 경우Content-Language: mi, en# 여러 언어를 다루지만 대상자가 영어 사용자인 경우 ex. 영어 사용자들을 위한 라틴.. 2025. 2. 4.
[99클럽] 알고리즘 TIL: 백준 10828번 스택 - JavaScript 문제링크https://www.acmicpc.net/problem/10828풀이방법처음에는 switch문으로 따로 만들어서 사용할까 했지만, 객체로 만드는 것이 호출할 때도 stack.pop(), stack.pop() 등의 형태로 호출할 수 있어 직관적이라고 생각하여 객체 형식으로 만들었다.처음에는 for문을 돌면서 push인 경우를 제외하고 바로 console.log로 결과값을 출력했는데 시간초과가 발생했다. 이를 해결하기 위해 console.log를 바로 출력하지 않고 string 형태의 result를 업데이트하고 for문이 종료된 후 한 번만 호출하는 방식으로 변경하여 해결했다.const readline = require("readline");const rl = readline.createInterf.. 2025. 2. 3.
[99클럽] 알고리즘 TIL: 백준 32953번 회상 - JavaScript 문제링크https://www.acmicpc.net/problem/32953풀이방법N, M이 주어지는 0번 인덱스를 제외하고, 짝수 인덱스에 클래스를 듣는 학생들의 학번이 있다.학번을 split을 활용하여 배열로 만들고, 학번을 key로 잡고 학번마다 듣는 클래스 수를 value로 잡는다.key값에 대한 value가 존재하지 않을 경우, value를 1로 세팅하고 value가 존재할 경우 이전 값에서 1을 더해준다.Map을 순회하며 value가 M 이상인 key값의 수를 세어 출력한다.const readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});co.. 2025. 1. 24.
[99클럽] 알고리즘 TIL: 백준 31562번 전주 듣고 노래 맞히기 - JavaScript 문제링크https://www.acmicpc.net/problem/31562풀이방법첫번째 라인부터 N라인까지 순회하며 song과 notes 배열을 만든다notes 배열에서 앞 3자리만 slice로 꺼내 하나의 문자열로 join 하여 'firstNotes'에 할당한다.firstNotes를 key로 잡고, 만약 for 루프를 돌며 이미 value가 존재하는 경우는 중복으로 판단하여 문제에 제시된 조건에 따라 "?"를 value로 대체하고 value가 없는 경우에는 song을 value로 추가한다.N+1 라인부터 N+M 라인까지는 문제들이 나열되어 있다.문제 라인을 하나의 문자열로 변환하여 firstNotes에 할당한다.noteMapping에 firstNotes와 일치하는 key가 있다면 value를 그대로 출.. 2025. 1. 24.
반응형