일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 게임 서버 아키텍처
- 더 흔한 색칠 타일 문제
- Prisma
- PROJECT
- ccw 알고리즘
- ucpc 2023 예선 d번
- 백준 28303번
- string
- koi 2002 중등부 1번
- 백준 2623번
- Next
- MongoDB
- pm2
- map
- ucpc 2023 예선 i번
- insomnia
- localstorage
- HTTP
- 자바스크립트
- JavaScript
- router
- Express.js
- 그리디
- MySQL
- 백준 28298번
- Github
- ucpc 2024 예선 e번
- branch
- html5
- ERD
- Today
- Total
목록분류 전체보기 (99)
dh_0e
2023 UCPC 예선 K번 문제로, 처음엔 그리디 + 우선순위 큐를 사용하여 시도해 봤지만, 큐가 정렬이 되는 기준을 잡는 것이 힘들었을뿐더러, $a_{i}$값이 중복되는 경우에 항상 답을 도출한다는 보장이 없었다. 해결 방법 답으로 출력될 세미나 수의 최솟값($c$)에 대하여 이분 탐색으로 접근해서 bst 함수에서 그리디하게 $i$번째 세미나의 시작 시간을 정한다. 이때 로직은 $c$가 답으로 도출될 수 있게끔 세미나의 시작 시간을 최대한 빠르게 지정한다 (물론 $a_{i}$가 속하게끔). 이후 모든 세미나의 범위에 $a_{i}$가 속하는지 확인하여 true or false를 반환한다. 반환한 값을 바탕으로 이분 탐색이 끝나면 세미나 수의 최솟값을 구할 수 있으며 이분 탐색 + 그리디로 $O(nlog..
UCPC 2024 예선 J번 문제로, 대회 도중에 팀원이 풀던 문제를 이어받아 반례를 찾았고, 이를 해결한 뒤 제출했지만 끝내 풀지 못하고 아쉬워하며 대회를 마쳤다.#include #include #include using namespace std;int n;int ans = 0;string coins;vector tPos;int f(int left, int right) { for (int i = left + 1; i > t; while (t--) { tPos.clear(); cin >> n; cin >> coins; ans = 0; int leng = coins.length(); for (int i = 0; i 애드..
쿠키(Cookie)브라우저가 서버로부터 응답으로 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장한 뒤 모든 요청에 포함하여 보냄사용자가 웹 사이트를 방문할 때마다 이전에 방문했던 정보를 기억하는 데이터 파일데이터를 여러 사이트에 공유할 수 있기 때문에 보안에 취약할 수 있음userId=user1;userName=kdh 와 같이 문자열 형식으로 쿠키 간에는 세미콜론(;)으로 구분됨 세션(Session)쿠키 기반으로 구성된 기술 but 클라이언트가 마음대로 데이터를 확인할 수 있는 쿠키와 달리 데이터를 서버에만 저장일반적으로 세션 Id를 쿠키를 이용해 클라이언트에게 전달, 서버는 이 세션 Id를 사용해 저장된 세션 데이터 조회보안성은 좋으나, 사용자가 많은 경우 데이터가 많아져 서버 컴퓨터가 감당하..
객체 리터럴{}로 객체 리터럴을 정의할 때 사용키-값 쌍으로 구성된 데이터 구조블록 문{}로 코드 블록을 정의할 때 사용여러 명령문을 묶어서 실행하는데 사용 객체 리터럴과 블록 문 구분JavaScript에서 똑같이 중괄호 '{}'를 사용하는 두 경우를 어떻게 구분할 수 있을까?'{}'가 객체 리터럴인지 블록 문인지 구분하기 어려운 경우가 있다.다음 예시는 그 구분이 애매할 때 발생할 수 있는 에러이다.let name, age;{ name, age } = { name: 'Alice', age: 30 }; // SyntaxError 발생name, age를 key값으로 가진 객체 리터럴에서 구조 분해 할당을 하려 한다.이때, 작성자는 '{ name, age }'를 객체 리터럴을 목적으로 작성했지만 실제로 컴파..
Git squash여러 개의 커밋을 하나의 커밋으로 합치는 방법Git 히스토리를 깔끔하게 유지할 수 있음하나의 기능이나 버그 수정에 대한 변경 사항을 단일 커밋으로 묶어 관리할 수 있음 squash가 필요한 상황여러 개의 작은 커밋이 있는 경우: 기능 개발 중, 여러 번의 커밋을 만들었지만, 실제로는 하나의 커밋으로 합치는 것이 더 의미있을 때중복되거나 불필요한 커밋이 많은 경우: 코드를 수정하면서 실수로 많은 중복 커밋이 생겼을 때PR(Pull Request) 전 커밋 정리: PR을 제출하기 전에 커밋을 정리하여 코드 리뷰어가 쉽게 이해할 수 있도록 할 때 사용 방법1. Git 로그 확인git log'git log' 명령어를 사용하여 최근 커밋 로그를 확인Git Desktop을 사용하거나 CLI로 커밋..