전체 글
https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 문제 코드 리뷰 이번 문제는 스도쿠 문제입니다. 백트래킹을 사용해야 시간초과가 나지 않습니다. map에서 0인 곳에 1. 행에 같은 숫자가 있는지 2. 열에 같은 숫자가 있는지 3. 3x3 칸에 같은 숫자가 있는지 판단 해야하며 열이 탐색이 끝나면 다음 행을 넘어가고 값이 허용 되지 않을 경우 값을 0으로 돌리는 구성으로 코드를 완성했습니다. package BJ; import java.io.Buf..
https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 문제 코드 리뷰 이번 문제는 시뮬레이션입니다. 저는 문제를 읽고 생각보다 그냥 조건이 많고 쉽다라고 생각했습니다. 실제로도 문제 자체는 쉬웠습니다. 하지만 저는 이문제에만 3시간 가까이 사용해버렸죠.... 계속 마지막 예제가 53이 나오는 겁니다. 그 이유가 나무를 저장하는 queue가 저장되는 값이 계속 바뀌는데 queue.size()로 for문을 돌려버리니 값이 제대로 나오지 ..
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 문제 코드 리뷰 이번문제는 시뮬레이션 문제입니다. 저는 순열과 bfs 방향에 따른 CCTV 감시에 중점을 두고 풀었습니다. package BJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.ut..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 문제 코드 리뷰 이번 문제는 시뮬레이션 문제인데 난이도가 골드 2인 문제입니다. 난이도를 보고 많이 쫄아서 어캐 풀지 했는데 생각보다 풀만했던? 문제였습니다. 문제를 풀면서 clone기능을 배웠는데 아주 편리한것 같습니다. 문제는 상하좌우로 숫자들을 끝까지 이동시키는 것입니다. 이동시킬때 같은 숫자가 있을 경우 두 숫자의 합을 이동방향 끝에 저장합니다. 한번 이동할 때..
https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 문제 코드 리뷰 이번 문제는 번호가 낮은 종류의 바이러스부터 상하좌우로 한칸씩 증식하고 S초 후 지정된 자리에 어떤 바이러스가 증식했는지 출력하는 문제입니다. 저는 S초 동안 모든 바이러스를 계속 증식시켰는데 시간 초과가 발생했습니다. 이미 지정된 칸은 바이러스가 증식되었지만 저의 코드에서는 루프문에 계속 돌았던 이유였습니다. 이번 공부를 하면서 알게된 loop: 를..
https://www.acmicpc.net/problem/10987 10987번: 모음의 개수 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 모음(a, e, i, o, u)의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 코드 리뷰 이번 문제는 입력받은 문자열을 문자로 쪼개어 배열 인덱스안에 넣어 개수만큼 값을 증가시켜줬습니다. package BJ; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; public class BJ_모음의개수 { static int[] alpa; static String str; static int result; public st..