[프로그래머스/Lv.2] 택배상자 (Java)
·
✏️/Programmers
택배상자https://school.programmers.co.kr/learn/courses/30/lessons/131704풀이`Deque sub = new ArrayDeque()`: 보조 컨테이너`idx`: 다음에 반드시 실어야 하는 `order` 위치`box`: 컨베이어에서 다음에 나올 번호 컨베이어 벨트에서 꺼낼 상자가 남아 있는 동안 보조 컨테이너 X`order[idx] == box`: 컨테이너 벨트의 맨 앞에 놓인 상자가 현재 트럭에 실어야 하는 순서보조 컨테이너 O지금 상자 X + 현재 스택 top O => 지금 안꺼내면 다음에 X -> 바로 꺼내기지금 상자 X + 현재 스택 top X => 보관 (일단 저장)while (box `!sub.isEmpty()`: 컨베이어 벨트 X But, 보조 ..
[BOJ/BFS] 백준 2146 - 다리 만들기 (Java)
·
✏️/BOJ
2146 - 다리 만들기https://www.acmicpc.net/problem/2146 문제한 섬과 다른 섬을 잇는 다리 하나만을 만들기로 하였고, 다리를 가장 짧게 하여 돈을 아끼려고 함NxN 크기의 이차원 평면상에 존재하는 이 나라는 여러 섬으로 이뤄져 있음 섬: 동서남북으로 육지가 붙어있는 덩어리가장 짧은 다리: 다리가 격자에서 차지하는 칸의 수가 가장 작은 다리입력첫 줄: 지도의 크기 N (1 다음 N줄: N개의 숫자 빈칸을 사이에 두고 주어짐 (0: 바다, 1: 육지)출력: 가장 짧은 다리의 길이풀이섬 라벨링현재 `map`에는 0: 바다, 1: 육지 -> 어느 섬에서 시작했는지 알 수 없음=> 각 섬을 서로 다른 번호로 변경`map[i][j] == 1 && !visited[i][j]`: 섬이고..
2025년 회고
·
🎸/회고
1. 올해 가장 좋았던 카페스티키플로어집 앞이라 마음 편하게 가기 좋고 런치 세트도 너무 맛있고사장님 커플도 친절하고 공간도 예쁨 2. 올해의 best 소비나고야 갈 때 산 산드로 선글라스?근데 지금 시점에 다른 선글라스 더 사고 싶음 화장품은 퓌 쿠션(리뉴얼 전)이 마음에 들었음 3. 올해의 worst 소비딱히 없다고 생각했는데 추천으로는 무인양품 푸딩너무너무 맛 없음 4. 가장 자주 들은 올해의 노래Penthouse (펜트하우스) 노래 많이 들음 올해 좋아했던 노래는 Kimagure Romatic - 나연THIS IS FOR - TWICE 5. 올해 가장 인상 깊었던 영화 주토피아2늘 영화 그냥 그런데 말랑말랑 아주 귀여웠음6. 올해 가장 인상 깊었던 책 혹은 구절 『우리가 열 번을 나고 죽을 때』..
코딩 테스트에서 알고리즘을 선택하는 기준 정리
·
✏️
알고리즘 선택 전에 가장 먼저 던질 질문 3가지그래프 문제인가?정점, 간선, 연결, 이동, 경로가 등장하는가최소 / 최대 / 최적화 문제인가?최소 비용, 최단 거리, 최대 값 같은 표현이 있는가구간 쿼리 + 값 변경이 있는가?→ 범위 + 빠른 응답 + 업데이트가 필요한가DFS / BFSKey Words연결되어 있는도달 가능한사이클이 있는지모든 정점을 방문그래프, 트리DFS (Depth First Search)한 경로를 끝까지 파고들었다가 되돌아오면서 처리해야 할 때즉, 탐색 그 자체가 목적일 때void dfs(int v) { visited[v] = true; for (int next : graph[v]) { if (!visited[next]) { dfs(next..
[BOJ/Segment Tree] 백준 11505 - 구간 곱 구하기 (Java)
·
✏️/BOJ
백준 11505 - 구간 곱 구하기https://www.acmicpc.net/problem/11505문제입력첫째 줄: 수의 개수 N (1 , 수의 변경이 일어나는 횟수 M (1 둘째 줄 ~ N + 1번째 줄: N개의 수N + 2번째 줄 ~ N + M + K + 1번째 줄: 세 개의 정수 a, b, ca가 1인 경우 b번째 수를 c로 바꾸고 a가 2인 경우에는 b번째 수부터 c번째 수까지의 곱 구하여 출력출력: 첫째 줄부터 K줄에 걸쳐 구한 구간의 곱 % 1,000,000,0007풀이트리 생성: `arr` 배열 기반으로 세그먼트 트리 한 번 만들어두는 함수`arr = new long[N + 1]`: 실제 배열 값`tree = new long[4 * N]`: 세그먼트 트리 -> 구간 곱 저장static vo..
[BOJ/DP] 백준 11066 - 파일 합치기 (Java)
·
✏️/BOJ
백준 11066 - 파일 합치기https://www.acmicpc.net/problem/11066문제소설을 여러 장으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장소설의 모든 장을 쓰고 나서 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본이 들어있는 한 개의 파일 만듦이 과정에서 두 개의 파일 합쳐서 하나의 임시 파일 만들고,임시 파일이나 원래의 파일을 계속 두 개씩 합쳐서 소설의 여러 장들이 연속이 되도록 파일을 합쳐나가고, 최종적으로 하나의 파일로 합침두 개의 파일을 합칠 때 필요한 비용이 두 파일 크기의 합입력: T개의 테스트로 이뤄져 있고 T는 입력의 맨 첫 줄에 주어짐각 테스트 데이터는 두 개의 행으로 주어짐첫 행: 소설을 구성하는 장의 수 K (3 두 번째 행: 1장 ~ K장까지 수..
aeongg
빙글빙글 돌아가는 Debug 하루