백준
-
백준 14503번 로봇 청소기 -Java문제풀이/BOJ 2020. 12. 19. 20:32
문제 링크입니다. www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 분석 : 현재 위치를 청소하고 왼쪽 방향으로 이동하는 로봇 청소기의 구현으로 왼쪽 방향으로 이동을 하면서 청소할 수 있는 칸의 최대 값을 구하는 문제이다. 문제 접근 : 1. 현재 위치를 청소 2. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향으로 탐색 진행 2.1. 왼쪽 칸이 청소되어 있지 않다면 왼쪽 방향으로 회전 후 한 칸 전진 쉽게 말해 왼쪽으로 한 칸 이동하고 1번으로 돌아간다..
-
백준 12100번 2048(Easy) -Java문제풀이/BOJ 2020. 12. 19. 20:20
문제 링크 - > www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 문제 분석 : 각 블록들은 상, 하, 좌, 우 네 방향 중 한 방향으로 모두 이동하게 된다. 이 때, 같은 값을 가지는 두 블록이 충돌한다면 두 블록이 하나로 합쳐지게 되는데 한번의 이동에서 합쳐진 블록은 다음 이동까지 합쳐질 수 없는 조건에서 최대 5번까지의 이동 중 나올 수 있는 가장 큰 값을 구해야 하는 문제이다. 상 -> (상, 하, 좌, 우) -> (상, ..