전체 글(6)
-
[코드트리] 마법의 숲 탐색
문제십자 모양인 골렘을 탄 정령이 숲을 아래, 왼쪽+아래, 오른쪽+아래의 세가지 방법으로 숲을 더이상 탐색할 수 없을 때까지 탐색한다. 탐색이 끝난 골렘의 가장 낮은 행을 더해나아가는 문제이다.풀이 방법- 시간 : 3시간 30분- 접근 방식 : BFS + 시뮬레이션 기능은 크게 2가지로 나눴다.골렘의 이동아래로왼쪽 + 아래오른쪽 + 아래위 세 조건 다 이동하지 못한다면 끝골렘의 중심 좌표가 숲 바깥이라면 초기화 진행BFS로 제일 낮은 행 찾기구체적인 설명이 문제에서는 무조건 골렘의 중앙값을 가지고 모든 계산을 진행하면 된다. 나는 먼저 문제를 보자마자 골렘의 모양부터 확인했다.골렘의 모양은 위 사진과 같이 네 가지만 생설될 수 있었고 상, 하, 좌, 우, 중앙 좌표를 이용해 골렘을 그려줘야겠다고 생각했..
2025.04.03 -
[코드트리] 보도블럭
문제오르막과 내리막을 올라가거나 내려갈 수 있게 경사로를 설치하는데, 아래 사진에 나와있는 예외를 제외하고 한줄을 오갈 수 있으면 면 성공풀이 방법- 풀이 시간 : 2시간- 접근 방식 : 브루트포스 일단 케이스는 4가지 였다.높이 차이가 2 이상인 경우: 경사로 설치 불가오르막길: 다음 값이 1 더 큼내리막길: 다음 값이 1 더 작음평평한 길: 현재 값과 다음 값이 같음초기 접근(실패)Stack을 사용해서 같은 값이 들어올 때까지 쌓는 방식으로 접근평평한 길, 오르막길, 높이차 2 이상인 경우는 비교적 처리 가능했음하지만 내리막길의 경우,이미 설치된 경사로 위에는 또 경사로를 설치할 수 없다는 제약 때문에Stack 방식으로는 로직이 지나치게 복잡해짐예시더보기경사로 길이 L = 2 길: [2, 1, 1, ..
2025.04.02 -
[토이 프로젝트] ML 영화 추천 플랫폼
시작2023년 1학기.우리학교는 신기하게 3학년, 4학년 때 2번의 졸업작품을 만들고 통과해야 졸업을 할 수 있다.이게 나의 첫번째 졸업작품 프로젝트였다.구성팀은 3명으로 구성되었고, 백엔드 1, ML 1, 프론트 1로 구성되었지만 나는 ML을 전반적으로 맡고 백엔드에도 약간 참여했다. 개요우리가 평소 쉽게 접할 수 있는 여러 가지 OTT서비스에는 방대한 양의 영화들이 존재한다. 매번 OTT 서비스를 이용할때면 방대한 양의 영화들 중 어떤 영화를 선택해야할지 고민하는 과정에서 사용자 피로도가 증가한다. 메인페이지에서 협업필터링을 통해 영화가 추천되지만 최근 내가 봐왔던 장르에 대해서만 추천해준다는 한계점도 존재했다. 이 점을 고려해 ML을 이용한 영화추천 플랫폼을 만들고자 했다. 하지만 Spring을 제..
2025.03.27 -
[백준] 실버3 두 수의 합 JAVA
문제투 포인터의 기본 문제이다. 풀이 방법- 풀이 시간 : 5분 투 포인터를 이용해 양쪽에서 탐색 시작해 진행하면 된다.arr = [1, 2, 3, 5, 7, 9, 10, 11, 12] ↑ ↑ left right1 + 12 = 13 → 정답! → result++ -> right--위와 같이 target을 찾으면 right--를 해주어야한다. 어차피 정렬되어있기 때문에 다음 정답을 찾기위해선 left나 right의 인덱스 위치를 바꿔주어야한다. 추가적으로 arr[left] + arr[right] 코드(JAVA)import java.io.BufferedReader;import java.io.IOExcept..
2025.03.27 -
[알고리즘] 투 포인터 알고리즘
투 포인터(Two Pointers) 알고리즘 쉽게 이해하기많은 알고리즘 문제에서 시간 복잡도를 줄이기 위한 테크닉으로 "투 포인터" 기법을 자주 사용한다. 특히 정렬된 배열을 다루거나 부분 배열을 탐색할 때 매우 유용하게 쓰인다. 투 포인터란?투 포인터란 배열에서 두 개의 포인터(인덱스)를 이용해 탐색 범위를 조절해가며 문제를 해결하는 방법이다. 이 두 포인터는 보통 같은 방향으로 이동하거나 양 끝에서 가운데로 좁혀가는 방식으로 활용된다. 이 방식의 핵심은 모든 경우를 탐색하지 않고도 정답에 도달할 수 있다는 점이다. 따라서 일반적인 브루트포스 O(N²) 알고리즘보다 훨씬 빠르게 문제를 풀 수 있다. 언제 쓰일까?1. 정렬된 배열에서 두 수의 합을 찾을 때2. 부분 배열의 합, 길이 등을 구할 때3. ..
2025.03.27 -
기술 블로그 이전
기술 블로그 이전?최근 일을 하면서 회사 컨플에만 글을 쓰다보니 블로그에는 글을 하나도 작성하지 못했다. 그리고 Github블로그, Velog 둘다 써봤지만 Github 블로그는 잔 에러가 많고 Velog는 카테고리별로 깔끔하게 정리가 되지 않아 티스토리로 이전하고자한다. 이전 글들은 대충 다 옮겨올 생각이고, 글이 다 옮겨지는대로 바로 새로운 글을 작성하도록 하겠다.
2025.03.26