본문 바로가기

분류 전체보기112

[BruteForce] 백준 2309: 일곱 난쟁이 2309번: 일곱 난쟁이 (acmicpc.net) 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 간만에 브론즈 문제. 내가 브루트포스 문제가 많이 약한데 그래도 쉽게 풀 수 있던 문제였다. 9명 중 7명을 고르는 경우의 수는 사실 택도 없이 작기 때문에, 브루트포스를 써도 될지 고민할 필요는 없었다. 먼저, 난쟁이들의 키를 저장하기 위한 배열 dwarf, 해당 난쟁이가 체크되었는지 확인하는 배열 isChecked를 만들었다. static int[] dwarfs = new int[9]; static boolean[] .. 2022. 7. 28.
[구현] 백준 20061: 모노미노도미노 2 이번 문제도 엄청 길어서 캡처 대신 링크로 갈음한다. 20061번: 모노미노도미노 2 (acmicpc.net) 20061번: 모노미노도미노 2 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net 어제 새벽 서너시까지 잡고 풀었는데, 문제가 딱히 되짚을 게 없다... 그냥 빡구현이다. 채워넣고, 조건 맞으면 점수 올리고, 연하게 색칠된 특별 구역에 들어가면 그만큼 내려주고... 만 반복하면 된다. 어차피 빨강 배열은 볼 필요가 없다. 초록 배열, 파랑 배열만 가지고 작업하면 된다. 어떤 블록을 넣어줄지 지정해주는 t, 배열이 들어갈 인덱.. 2022. 7. 27.
[구현] 백준 14503: 로봇 청소기 오늘은 밀린 만큼 두 개를 복기하려 한다. 첫 번째 복기 대상 로봇 청소기이다. 14503번: 로봇 청소기 (acmicpc.net) 참고로, 북쪽의 왼쪽은 서쪽이다. 왜 너무 당연한 이런 얘기를 썼냐면... 북동남서 순으로 0,1,2,3이 배정되어 있기 때문이다. 나는 북쪽의 왼쪽->0의 다음은 1 .. 이렇게 멋대로 생각하다가 꽤나 삽질을 했다... 한 칸 씩 네 방향을 서치할 수 있게 dr, dc 배열과, 중간에 청소를 안 한 부분을 발견하여 빠져나갈 때 재귀호출의 '방향' 인풋으로 사용하기 위해 directions 배열을 만들었다. public class BOJ_14503 { static int N,M; static int[][] board; static int numCleaned = 0; //북-.. 2022. 7. 27.
[구현] 백준 20327: 배열 돌리기 6 여태 깨작깨작 PS를 하면서 어려운 문제들을 많이 만났다. 개중에는 지금 돌아보면 아무 것도 아닌 문제도 있지만,그 때는 또 그만큼 실력이 더 모자랐기 때문에... 브론즈 I/O 문제조차 당황하며 하루 종일 잡고 있던 때가 있었으니. 그런데 이 문제만큼 '볼륨'이 크다고 느낀 문제는 처음이었다. 보자마자 아, 그냥 튈까 하고 생각했지만 결국 극복해내지 못하면 다음 단계로 나아가지 못하기에 차분히 손을 댔다. 20327번: 배열 돌리기 6 (acmicpc.net) // 문제 예시가 너무 길어 링크로 첨부 아직 완전한 리뷰가 아니기에 간단하게만 쓰면, 배열의 부분배열들을 변경시키는 함수 8개를 구현해야 한다. 상하반전, 좌우반전, 우로 90도/좌로 90도 회전, 그리고 똑같은 논리로 '부분배열 자체'를 이동.. 2022. 7. 22.