분류 전체보기

    [Node.js] Cors

    Cors: Cross-Origin Resource Sharing 웹페이지가 다른 도메인의 리소스에 접근할 수 있게 해주는 보안 메커니즘 서버가 특정 출처에서 오는 요청이나 모든 출처에서 오는 요청을 허용할 수 있도록 함. const cors = require('cors') const router = require('./router') const { addUser, getUsersInRoom, getUser, removeUser } = require('./user') const PORT = process.env.PORT || 5000 const app = express(); const server = http.createServer(app) const io = socketio(server) app.use(..

    [Socket.io] socket.emit과 socket.on

    1. 클라이언트 → 서버로 데이터 보내기(socket.emit) socket.emit: 서버-클라 or 클라-클라 간에 이벤트 전송시 사용됨 지정된 이벤트 이름과 함께 데이터 전송 → 해당 데이터는 반대쪽 끝에서 이벤트 리스너에 의해 수신됨 socket.emit('message', 'Data Example'); socket.emit( 이벤트 이름+ 데이터 ); 2. 서버에서 데이터 수신하기(socket.on) 서버 측은 socket.on 메서드를 사용하여 특정 이벤트를 수신 대기(listen) 함 socket.on(수신하고자 하는 이벤트 이름, 해당 이벤트 발생 시 실행될 콜백 함수) io.on('connection', (socket) => { socket.on('chat message', (msg) =..

    [Greedy] 백준 2141 우체국

    2141번: 우체국 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다. www.acmicpc.net 해당 문제는 1시간 정도 고민하고 코드를 짜면서 도전했는데 이중for문을 써서 계속 시간 초과가 떴다. 이후에 이중for문을 사용하지 않는 다른 방법도 시도해 보았지만 점점 산으로 가는 것 같아서 결국 다른 분 코드를 참고했다. 풀이를 보자마자 아! 했다. 그리디 문제는 아이디어를 떠올리는 것이 가장 어려운 것 같다. 그리디로 풀 때는 구하고자 하는 것에 집중하면서 푸는 연습을 해..

    [Greedy] 연속되는 조건이 있는 문제

    연속되는 조건이 있는 문제 백준 20365 - 블로그2 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 해당 문제에서 가장 중요한 조건은 연속된 임의의 문제들을 선택한다는 것이다. 이러한 조건이 나오면 연속되는 문자를 하나의 집합으로 생각하고 중복되는 문자들은 제거해주고 저장해주자. 나는 굳이 배열을 쓰지 않고 StringBuilder(sb)만 사용해서 입력 받을 때 문자가 달라지는 경우만 Stringbuilder에 append 해주었다. 이렇게 되면 sb에는 BBR과 같이 연속되는 문자가 절대 존재하지 않게..

    [Vite+React] 깃허브 페이지 배포 이미지 경로 에러

    [Vite+React] 깃허브 페이지 배포 이미지 경로 에러

    개인 페이지를 만들던 도중 Vite를 사용해서 개발, build하고 깃헙 페이지로 배포하는 도중, 일부 이미지가 뜨지 않는 에러 발생 이는 경로 문제인데, 이미지를 사용할 때 import 하는 방식을 써서 그랬다. src로 경로를 직접 입력해줘야 성공적으로 배포가 된다. public/images/ 폴더에 이미지를 저장했는데, 아래 두가지 방법으로 경로를 수정하면 에러가 해결된다. 1. 경로 맨 앞에 /를 붙여주기 ex) ./images/ 2. 경로 앞에 깃허브 페이지 주소를 붙여주기 [배포한 깃헙 페이지 주소]/images/

    [Hash] 신고 결과 받기, 베스트앨범

    1. 신고 결과 받기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한 유저를 여러 번 신고해도 동일한 유저에 대한 신고 횟수가 1회로 처리되는 조건, 즉 중복이 허용 되지 않는다. 따라서 HashMap+HashSet 사용한 문제 import java.util.*; class Solution { public int[] solution(String[] idList, String[] report, int k){ int num = idList.length; int[] answer = new int[num]; HashMap map = new HashMap(); ..