1. 문제https://www.acmicpc.net/problem/5212 2. 문제주의할 점 : 배열의 범위를 벗어나는 경우 바다(.)로 처리해야 한다.50년 후 지도 만들기lands 배열 : 50년 전의 지도newLands : 50년 후의 지도lands 배열을 탐색하면서 땅(X)으로 되어 있는 위치(x, y)를 찾는다.해당 좌표에서 인접한 상하좌우 좌표를 탐색하면서 주변에 바다(.)가 몇 곳이 있는지 개수(count)를 구한다. 단, 상하좌우 탐색 과정에서 배열의 범위를 벗어나는 경우 바다(.)이다.상하좌우 탐색을 마치고 땅 주변에 바다가 3곳 이상(count >= 3)이라면, 현재 위치(x, y)는 50년 후에 바다로 잠긴다. 이를 newLands[y][x]에 저장하면 된다.static void l..
1. 문제https://www.acmicpc.net/problem/16918 2. 오답strikeBomb() : 폭탄을 터뜨리는 메서드"다음 1초 동안 폭탄이 설치되어 있지 않은 모든 칸에 폭탄을 설치한다"위 조건에 의해 폭탄이 설치된 곳이 아닌, 이미 폭탄이 설치되어 있었던 좌표에 설치된 폭탄과 인접한 폭탄을 터뜨리는 메서드이다.visited를 사용하여 이미 폭탄이 설치되어 있었던 좌표를 저장한다. -> visited[idx1][idx2] = true따라서 배열 전체를 탐색하면서 visited[idx1][idx2] = true인 폭탄과 인접한 폭탄을 터뜨리고, 현재 좌표에 폭탄이 없음을 의미하는 bombs에 '.'를 저장하고 visited에 false를 저장한다. 그러나 이는 잘못된 로직이다. if..
1. 문제https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV5LsaaqDzYDFAXc&categoryId=AV5LsaaqDzYDFAXc&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=JAVA&select-1=3&pageSize=10&pageIndex=2 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 2. 코드seconds 배열 : 각 요소에 도착한 인원수 저장maxArrivedSecond : 0초 ~ 11,111초 ..
1. 문제https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV15Khn6AN0CFAYD&categoryId=AV15Khn6AN0CFAYD&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=JAVA&select-1=3&pageSize=10&pageIndex=1#none SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 2. 코드문제의 핵심은 숫자의 각 자릿수를 바꿔서 최대 값을 구하는 것이다.단, 교환 횟수에 제한이 있으므로..
1. 문제2. 코드(targetX, targetY)는 탐색을 시작할 지점이다. 목표 지점(숫자 = 2)을 탐색 시작 지점으로 결정하고 상하좌우로 탐색하면 된다.arr 배열 : 입력으로 받은 값들answer 배열 : 출력할 값들for문에서 answer 값을 초기화한다.if(num == 1) : 탐색하여 도착할 수 있는 지점초기 값을 -1로 하는 이유는 출력 예시에 설명되어 있듯이, "원래 갈 수 있는 땅인 부분 중에서 도달할 수 없는 위치는 -1을 출력한다." 를 만족해야 하기 때문이다.bfs를 돌면서 answer에는 현재 위치(x, y)에 도착하기까지 이동한 횟수가 담긴다.answer[cy][cx] = answer[y][x] + 1answer[cy][cx] : 현재 위치answer[y][x] : 현재 위..