

![[누적합] 백준 2167번 : 2차원 배열의 합 - Java](https://blog.kakaocdn.net/dn/QV7bM/btsM1qkaYmK/ouqNCPsDsSvrQPiTvJNpG0/img.png)

![12. [Java] 투 포인터 (2-Pointer)](https://blog.kakaocdn.net/dn/cBBw3P/btsMTF8gTTa/vnNkZzFuEnATA8NVk64yQ0/img.png)

항해99 클럽 코테 스터디 2일차 TIL - 자바 미들러 4/1 (화요일)https://www.acmicpc.net/problem/14495✅ 문제📌 접근방법처음엔 막연히 재귀함수를 이용하였지만 시간복잡도가 O(2^N)이라 시간 초과로 런타임 오류가 났다.이를 해결하려면 메모이제이션(DP) 또는 반복문을 사용한 동적 계획법을 사용해야한다. -> O(N)또한, 문제조건에서 n이 116까지 입력받는데 f(116)은 int의 범위를 넘기 때문에 long을 써야했다. 런타임 오류 (오답)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public stati..

항해99 클럽 코테 스터디 TIL - 자바 미들러 (3/30(월) ~ 4/28(월)) 시작!https://www.acmicpc.net/problem/1929✅ 문제📌 접근방법일반적인 소수 판별법으로 소수는 자기자신과 1만을 약수로 가지는 수이다.n미만의 숫자 중에서 나머지 연산을 했을 때 0이 되면 약수를 가져서 소수가 아니다.public class Algorithm { static boolean isPrime(int n){ // 시간복잡도 O(N) if(n위 코드의 시간복잡도는 O(N)이며, N개의 수를 판별하면 O(N^2)이 된다.시간이 상당히 오래걸리므로 에라토스테네스의 체로 접근했다. 에라토스테네스의 체는 많은 수의 소수판별을 할 때 유용하다.이 알고리즘의 원리는 해당 숫자가..
![[누적합] 백준 2167번 : 2차원 배열의 합 - Java](https://blog.kakaocdn.net/dn/QV7bM/btsM1qkaYmK/ouqNCPsDsSvrQPiTvJNpG0/img.png)
https://www.acmicpc.net/problem/2167[접근 방법]누적합, DP 🔑 풀이public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); // 배열 크기에 대한 입력 int N = Integer.parseInt(st.nextToken()); // 행 int M = Integer.parseInt(st.n..

https://www.acmicpc.net/problem/7785 [접근 방법]처음에 예제를 보고 map을 활용할 생각을 하였다.HashMap key값에 이름들을 넣고 만약에 key 값이 한 번 더 나온다 하면 그 key값을 HashMap에서 삭제하였다.여기서 굳이 value값으로 비교할 필요가 없는 게 만약 동일한 key값이 두 번 나왔으면해당 key값인 사람은 무조건 enter 후 leave이므로 key값 포함 여부만 확인하면 된다.그러고 나서 ArrayList에 넣어서 사전 순의 역순으로 정렬을 해주고 출력을 하였다.+ Set 활용도 가능! [풀이]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamRe..
![12. [Java] 투 포인터 (2-Pointer)](https://blog.kakaocdn.net/dn/cBBw3P/btsMTF8gTTa/vnNkZzFuEnATA8NVk64yQ0/img.png)
일반적으로 배열에서 2개의 인덱스(포인터)를 움직이면서 문제를 해결하는 방법보통 왼쪽(left), 오른쪽(right) 혹은 시작(start), 종료(end) 쌍으로 포인터를 표현한다.외워야 할 알고리즘이라기 보다는 이렇게도 문제를 풀 수 있구나 정도로 알아두면 된다.2개의 포인터를 동시에 +1씩 움직이면서 답을 구하는 알고리즘은 [슬라이딩 윈도우] 라고 부르기도 한다. Referencehttps://www.acmicpc.net/problem/2559https://school.programmers.co.kr/learn/courses/30/lessons/42885https://school.programmers.co.kr/learn/courses/30/lessons/67258
![[중간발표] B2B2C SaaS 대기열 서비스](https://blog.kakaocdn.net/dn/ZcoNe/btsJ1H9CgOw/E3EpIWVgIW3lv4TOecpOA0/img.png)
