격자 얼음 바닥 문제 해결 (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에 게시됨