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] : 현재 위..