전체 글

소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다.  문제 & 키워드백준 - 스도쿠 (문제 링크)백트래킹    문제 설명스도쿠는 9x9 격자판에서 1부터 9까지의 숫자를 채워넣는 퍼즐 게임입니다. 이 게임의 규칙은 다음과 같습니다:각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 합니다.굵은 선으로 구분된 3x3 정사각형 안에도 1부터 9까지의 숫자가 한 번씩만 나타나야 합니다.초기 스도쿠 판에 쓰여진 숫자들이 주어질 때, 빈 칸을 규칙에 맞게 채워서 스도쿠를 완성하는 프로그램..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다.  문제 & 키워드프로그래머스 - 여행경로 (문제 링크)DFS (깊이 우선 탐색)백트래킹   문제 설명여행을 계획하는데 주어진 항공권을 모두 사용해야 하며, 모든 경로는 "ICN" 공항에서 시작해야 합니다. 항공권의 정보는 [출발지, 도착지]로 이루어진 2차원 배열 tickets로 주어집니다. 이때 가능한 여행 경로 중 알파벳 순서가 가장 앞서는 경로를 찾아 반환하는 문제입니다. 제한사항모든 공항은 알파벳 대문자 3글자로 이루어집니다.주어진 공항 ..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다.  문제 & 키워드프로그래머스 - 단어 변환 (문제 링크)BFS (너비 우선 탐색)그래프 탐색  문제 설명두 개의 단어 begin, target과 단어의 집합 words가 주어집니다. 이 문제에서는 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾아야 합니다. 변환 과정은 다음과 같은 규칙을 따릅니다한 번에 한 개의 알파벳만 바꿀 수 있습니다.변환된 단어는 words에 포함되어 있어야 합니다.예를 들어, begin이 "hit"이고,..
·백엔드/Test
Testcontainers를 이용한 애플리케이션 통합 테스트 환경 구축이 글에서는 Testcontainers를 활용하여 애플리케이션 통합 테스트 시 데이터베이스 환경을 어떻게 구성할 수 있는지에 대해 설명합니다.Testcontainers 공식 문서를 참고하여 현재 버전에 맞게 직접 테스트해보며 작성했습니다.  서론테스트 코드를 작성할 때, Docker를 사용해 테스트용 데이터베이스를 직접 띄우거나 H2 메모리 데이터베이스를 활용할 수 있습니다. 하지만 Docker로 테스트용 DB를 직접 실행하고 종료하는 과정은 번거로울 수 있으며, H2 메모리 DB는 설정이 간편하고 테스트 속도가 빠르지만 운영 환경과 다른 DB를 사용할 때 문제가 발생할 가능성이 있습니다. 이는 테스트에서 문제가 없더라도 실제 운영 환..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다.  문제 & 키워드프로그래머스 - 아이템 줍기 (문제 링크)BFS (너비 우선 탐색)그래프 탐색  문제 설명지형에 여러 개의 직사각형이 겹쳐져 있고, 캐릭터가 이 지형의 테두리를 따라 이동하여 아이템을 주우려고 합니다. 직사각형들의 좌표와 캐릭터의 초기 위치, 아이템의 위치가 주어졌을 때, 캐릭터가 아이템을 줍기 위해 이동해야 하는 가장 짧은 거리를 구하는 문제입니다.이 문제에서 직사각형은 겹쳐질 수 있으며, 직사각형 내부는 이동할 수 없는 공간으..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드프로그래머스 - 네트워크 (문제 링크)Union-Find (유니온 파인드)  문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어 있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드LeetCode - Minimum Operations to Make a Subsequence (문제 링크)이진 탐색 (Binary Search)최장 증가 부분 수열 (LIS)  문제 설명주어진 target 배열은 중복되지 않은 정수들로 구성되어 있으며, 다른 배열 arr은 중복된 정수를 가질 수 있습니다. target 배열을 arr의 부분 수열로 만들기 위해 필요한 최소 작업 수를 구하는 문제입니다.하나의 작업은 arr의 임의의 위..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드LeetCode - Maximum Profit in Job Scheduling (문제 링크)동적 프로그래밍 (Dynamic Programming)이진 탐색 (Binary Search)  문제 설명주어진 n개의 작업이 있습니다. 각 작업은 시작 시간 startTime[i], 종료 시간 endTime[i], 그리고 이익 profit[i]을 가지고 있습니다. 이 작업들을 최대한 겹치지 않게 선택하여 얻을 수 있는 최대 이익을 구하는 문제..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드백준 - 스택 수열 (문제 링크)스택자료구조  문제 설명스택은 컴퓨터 과학에서 자주 사용되는 자료구조 중 하나로, LIFO(Last In First Out) 원칙에 따라 작동합니다. 즉, 가장 최근에 스택에 추가된 항목이 가장 먼저 제거됩니다.1부터 n까지의 수를 스택에 넣었다가 뽑아서 하나의 수열을 만들고자 합니다. 스택에 수를 push하는 순서는 오름차순을 지켜야 하며, 주어진 수열을 만들기 위해 필요한 push와 pop 연산을..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드프로그래머스 - 공 이동 시뮬레이션 (문제 링크)시뮬레이션역순 접근  문제 설명주어진 문제는 n x m 크기의 격자에서 공을 움직이는 쿼리들을 처리하여 특정 위치에 도달할 수 있는 시작점의 개수를 구하는 것입니다. 공은 4가지 방향으로 움직일 수 있으며, 주어진 쿼리에 따라 위치를 이동합니다. 이동 과정에서 공은 격자 밖으로 나갈 수 없으며, 벽에 부딪히면 그 위치에서 멈춥니다.제한사항격자의 크기 n과 m은 최대 10억까지 가능합니..
dami97
시공의개발자