구현 2

[백준3085] 사탕 게임 - 자바(JAVA)

1. 문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 2. 풀이 브루트포스 알고리즘을 사용해서 문제를 풀었다. 먼저 사탕을 교환하는 모든 경우의 수를 구현하였다. 여기서 중요한 점은 만약 (i, j)와 (i+1, j) 사탕을 교환했다면 즉, 위아래 사탕을 교환했다면 `i행, i+1행, j열`을 검사해서 얻을 수 있는 최대 사탕 갯수를 구해주었다. (i, j)와 (i, j+1) 사탕을 교환했다면 즉, 좌우 사탕을 교환했다면 `j열, j+1열, i행`을 검사해서 얻을 수 있는 최대 사탕 갯수를 구해주었다. 행과 열에서 최대 사탕 갯수를 구해주는 함수는 각각 c..

알고리즘 2023.07.20

[백준20055] 컨베이어 벨트 위의 로봇 - 자바(JAVA)

1. 문제 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 2. 풀이 이 문제를 풀 때 첫 번째로 문제를 이해하는데 어려움이 있었고 두 번째로 컨베이어 벨트와 로봇 위치를 어떻게 저장할 것인가 였다. 나는 문제를 이렇게 풀었다. `컨베이어 벨트 각각의 칸`을 Space라는 클래스를 만들어서 객체로 만들었다. `컨베이어 벨트`를 Space 클래스를 자료형?으로 가진 ArrayList로 만들었다. 1~4 동작을 각각 4개의 메..

알고리즘 2023.07.19