격자 얼음 바닥 문제 해결 (Toyota Programming Contest 2023#4)

시간 제한: 2초 / 메모리 제한: 1024MB 점수: 400점 문제 설명 N x M 크기의 격자가 주어지며, 이 격자는 얼음 또는 바위로 구성되어 있습니다. (i, j)는 위에서 i번째 행과 왼쪽에서 j번째 열에 있는 칸을 나타냅니다. 각 칸은 N개의 문자열 S1, S2, ..., SN으로 표현되며, 각 문자열의 길이는 M입니다. Si의 j번째 문자가 '.'이면 칸 (i, j)는 얼음이고, '#'이면 바위입 ...

6월 7일 21:05에 게시됨

적용된 알고리즘과 문제 해결 전략

총점: \(100+100+30+45=275\) 시작 10분 동안 문제 A에 접근했으나, 한 시간 후 포기하고 다른 문제로 이동. 문제 B를 빠르게 해결한 후 C에 도전하였으나 실패. D의 폭력적인 해법을 작성하고 남은 30분 동안 다시 A를 시도. A: H 군의 블록 상단과 하단의 숫자를 모두 세그먼트 트리에 추가합니다. 만약 숫자가 두 번 이상 등장하면 이를 후보로 설정하며, 각 단계에서 ...

6월 4일 03:09에 게시됨

n-Queens 문제 해결을 위한 백트래킹 알고리즘

문제 개요 n-Queens 문제는 n×n 크기의 체스판 위에 n개의 퀸을 배치하는 조합 최적화 문제입니다. 이때 어떤 두 퀸도 서로를 공격할 수 없어야 하며, 즉 같은 행, 열, 또는 대각선 상에 존재해서는 안 됩니다. 주어진 n에 대해 가능한 모든 배치를 출력하는 것이 목표입니다. 입력 및 출력 형식 입력: 정수 n (1 ≤ n ≤ 9) 출력: 각 해법은 n개의 줄로 구성되며, 각 ...

5월 26일 16:28에 게시됨

이진 트리의 핵심 개념과 활용

이진 트리는 계층적 데이터를 표현하는 대표적인 비선형 자료구조로, 각 노드가 최대 두 개의 자식을 가지는 구조를 말합니다. 분할 정복의 "반으로 나누기" 전략을 직관적으로 구현할 수 있어 다양한 알고리즘의 기반이 됩니다. 노드 구조와 기본 개념 이진 트리의 기본 단위인 노드는 데이터 값과 두 개의 자식 참조로 구성됩니다. 부모-자식 관계를 통해 하위 트리가 ...

5월 23일 05:59에 게시됨