2021/12/22 2

[백준 14891] - 톱니바퀴 자바(JAVA)

[문제] 출처 - https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net N극(0) S극(1) 중을 하나를 나타내는 4개의 톱니바퀴를 회전시켜야 한다. 서로 맞닿은 극에 따라서 옆에 있는 톱니바퀴를 회전시킬 수도 있고, 회전시키지 않을 수도 있다. 서로의 극이 같은 경우에는 회전시키지 않고, 다른 경우에만 회전을 시킨다. 극을 비교할 때에는 2번 6번 방향을 기준으로 한다. [문제 풀이] 시뮬레이션은 문제의 조건을 잘 읽고 그대로 이행을 해줘야 ..

백준 문제풀이 2021.12.22

[백준 14502] - 연구소 자바(JAVA)

문제 출처 - https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 풀이 N제한이 8이라는 매우 작은 수 3개의 벽을 세우는 모든 경우의 수를 만드는 DFS 벽을 만들고 바이러스를 퍼트리는 과정의 BFS -> 인접한 다른 정점으로 갈때 가중치가 1 *주의!! = 원본 배열을 바꾸면 안되기 때문에 복사된 배열을 사용해야 하는데 a = b 와 같은 대입연산자를 사용하면 얕은 복사가 생겨 원본 배열 값에 영향을 미치기 때문에 깊은복사를 해야한다. 문제를에 벽의개..

백준 문제풀이 2021.12.22