BOJ

    [백준] 5639번 : 이진 검색 트리 Gold5(골드5) - JAVA[자바]

    [Gold V] 이진 검색 트리 - 5639 문제 링크 성능 요약 메모리: 16088 KB, 시간: 376 ms 분류 그래프 이론, 그래프 탐색, 재귀, 트리 제출 일자 2024년 1월 10일 21:12:46 문제 설명 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다. 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다. 전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순서대로 키를 출력한다. 예..

    [백준] 3190번 : 뱀 Gold4(골드4) - JAVA[자바]

    [Gold IV] 뱀 - 3190 문제 링크 성능 요약 메모리: 12704 KB, 시간: 104 ms 분류 자료 구조, 덱, 구현, 큐, 시뮬레이션 제출 일자 2024년 1월 8일 22:46:00 문제 설명 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시..

    [백준] 14502번 : 연구소 Gold4(골드4) - JAVA[자바]

    [Gold IV] 연구소 - 14502 문제 링크 성능 요약 메모리: 294788 KB, 시간: 748 ms 분류 너비 우선 탐색, 브루트포스 알고리즘, 그래프 이론, 그래프 탐색, 구현 제출 일자 2024년 1월 7일 13:56:40 문제 설명 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울..

    [백준] 12100번 : 2048(Easy) Gold2(골드2) - JAVA[자바]

    [Gold II] 2048 (Easy) - 12100 문제 링크 성능 요약 메모리: 15272 KB, 시간: 136 ms 분류 백트래킹, 브루트포스 알고리즘, 구현, 시뮬레이션 제출 일자 2024년 1월 6일 16:02:08 문제 설명 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 링크를 누르면 게임을 해볼 수 있다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다)..