투포인터(Two Pointers) 알고리즘
·
DevOps/알고리즘
투포인터(Two Pointers) 알고리즘두 개의 포인터를 활용하여 배열이나 문자열에서 특정 조건을 만족하는 구간 / 조합을 효율적으로 찾는 알고리즘 투포인터의 개념배열 또는 리스트에서 두 개의 인덱스(포인터)를 사용하여 문제 해결포인터를 좌/우, 앞/뒤 등으로 이동시키면서 조건을 체크시간 복잡도 : 대부분 O(N) ~ O(N logN) 수준으로 최적화 가능언제 사용할까?연속 구간 합 / 부분합 문제정렬된 배열에서 합이 특정 값이 되는 쌍 찾기최대/최소 길이 구간 문제슬라이딩 윈도우 문제와 유사한 패턴구조int left = 0;int right = 0;while(right left : 시작 위치right : 끝 위치배열/리스트가 정렬되어 있으면 더 효율적예제 1: 합이 M인 연속 부분 배열 찾기문제 : ..
[백준 14889] 스타트와 링크
·
코딩테스트/백준
https://www.acmicpc.net/problem/14889 🖊️풀이 방법N은 짝수로 제공된다. 그래서 선택 여부를 판단하는 boolean 배열을 선언하여 팀을 선택해주었다.4명이 있다고 가정하면1) [true, true, false, false]2) [true, false, true, false]...6) [false, false, true, true] 이렇게 팀을 구성해하면서 능력치를 계산해주고 각 팀의 능력치의 차이의 최솟값을 업데이트 해주면 된다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { stat..
코드 비전 면접 후기
·
취업 준비/면접 후기
코드비전 회사에 면접을 보고 왔다.. 사실 맨날 밍기적 거려서 첫번째 면접이다. 나란 몽총이는 반대쪽으로 가서 10분 늦었다...엄청 뛰었네면접은 1:1로 봤고, 프로젝트에 대한거 그냥 설명하구 이것저것 질문 받고테스트도 봤다. (다 말하면 안되겠지?) 그냥 후기는더 열심히 안하면답이 없다는 것...ㅠㅠㅠㅠㅠ
[백준 1806] 부분합
·
코딩테스트/백준
https://www.acmicpc.net/source/98731547🖊️풀이 방법수열 중에서, 합이 S 이상이 되는 것 중에서 짧은 것의 길이를 구해야 되는 문제이다.짧은 길이를 구해야되기 때문에 두 인덱스를 0부터 시작해서 합이 S가 될때까지 더해가면서 짧은 길이를 구해주었다.sum이 S보다 크면 sum에서 첫번째 인덱스 값을 빼주고 오른쪽으로 옮긴다.작으면 두번쨰 인덱스를 오른쪽으로 옮기고 sum에서 그 값을 더해준다. import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ..
[동시성 제어] 챌린지 참여 시 동시성 제어(1) - 락 없이 테스트 코드 진행 해보기
·
Develop/Spring Boot
챌린지 참여 구현 중, 막연히 챌린지 참여 Post 요청을 보내면 된다고 생각했는데, 정원 제한이 필요하고 이때 동시성 제어가 필요하다는 것을 알았다. [정원 없는 챌린지]- "30일 운동 챌린지" -> 10만명 참여(예를 들어...?) -> 관리 불가능- 인증 사진 검토 -> 하루 1만장 -> 현실적으로 불가능- 커뮤니티 기능 -> 채팅장에 수만명 -> 의미 없음- 서버 비용 -> 무제한 확장 -> 예산 초과 [정원 있는 챌린지]- "30일 운동 챌린지 (100명 한정)" -> 관리 가능한 규모- 선착순 참여 -> 참여 동기 부여 증가- 품질 높은 피드백 가능- 적절한 경쟁 강도 의 이유로 정원이 있는 챌린지로 구현하는 것을 목표로 하였다. 그러면서 동시성 제어에 대해서 학습이 필요하다는 것을 알았다...
[TIL] RefreshToken을 Cookie로 설정하는 이유 & Cookie 설정 방법
·
회고 공간/TIL
앞의 글에서 refreshToken을 cookie에 저장한다고 하였는데, 쿠키 설정 때문에 refresh 요청이 안되는 문제가 발생하였었다. 그래서 이 글에서는 쿠키 설정에 대한 것과 쿠키에 저장하는 이유에 대해서 정리하려고 한다. 자세한 것은 트러블슈팅 글에 적어야지...(별거아님 주의) 쿠키 생성Cookie cookie = new Cookie("refresh_token", refreshToken);cookie.setHttpOnly(true); // JS에서 접근 불가cookie.setSecure(true); // HTTPS에서만 전송cookie.setPath("/"); // 쿠키가 유효한 경로cookie.setMaxAge(60 * 60 * 24 * 7); // 만료 시간 (초 ..