소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드백준 - 도미노 (문제 링크)브루트포스백트래킹순열 사이클 분할 문제 설명도미노 게임에서 N*N 크기의 보드에 놓인 도미노들 중에서 N개의 도미노를 골라야 합니다. 이때, 선택한 도미노는 같은 행에서 하나, 같은 열에서 하나만 선택할 수 있으며, 선택한 도미노들로 사이클을 만들어야 합니다.사이클이란 도미노 A의 두 번째 숫자와 도미노 B의 첫 번째 숫자가 같고, 마지막 도미노의 두 번째 숫자가 첫 번째 도미노의 첫 번째 숫자와..
알고리즘/99Club
소개알고리즘 스터디를 참여하며 작성하는 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"이고,..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드프로그래머스 - 아이템 줍기 (문제 링크)BFS (너비 우선 탐색)그래프 탐색 문제 설명지형에 여러 개의 직사각형이 겹쳐져 있고, 캐릭터가 이 지형의 테두리를 따라 이동하여 아이템을 주우려고 합니다. 직사각형들의 좌표와 캐릭터의 초기 위치, 아이템의 위치가 주어졌을 때, 캐릭터가 아이템을 줍기 위해 이동해야 하는 가장 짧은 거리를 구하는 문제입니다.이 문제에서 직사각형은 겹쳐질 수 있으며, 직사각형 내부는 이동할 수 없는 공간으..
소개알고리즘 스터디를 참여하며 작성하는 TIL입니다.TIL이란? 'Today I Learned'의 약자로, 한국어로 번역하면 '오늘 내가 배운 것'이란 의미입니다.제가 오늘 하루 배운 것 혹은 경험하고 느낀 것들을 기록하고 회고하는 습관을 기르기 위한 글입니다. 문제 & 키워드프로그래머스 - 네트워크 (문제 링크)Union-Find (유니온 파인드) 문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어 있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다..