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. 코드각 픽셀은 R, G, B 값을 가지고 있다.arr 배열의 크기는 [N][M * 3]인데, 그 이유는 한 픽셀에 3개의 색상(R, G, B)를 가지기 때문이다.각 픽셀에 사용된 R, G, B 값을 모두 더하여 평균을 낸다. 평균 >= T : 255 저장평균 2차원 배열 graph를 dfs를 통해 인접한 물체(255)를 찾는다.상하좌우로 인접한 물체(255)가 있다면 answer + 1answer를 출력한다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Main { // N : 세로, M :가로 st..
1. 문제근데 사진에는 파란색이 왜 있는 거지? 글만 봤을 때는 파란색에 대한 언급이 없어서 문제를 이해하는 게 오래 걸렸다;;;(a), (b) 모두 outer side에 흰색이 없는데 어떻게 출발하는건지 이해를 못 했다. 사진을 무시하고 입력에 맞춰서 문제를 풀면 된다.흰색 : 0검은색 :1 2. BFS 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;public class Main { static int N, M; static int[][]..
https://www.acmicpc.net/problem/14620 풀이arr은 입력 받은 값이고 sumArr은 자신의 좌표를 포함한 상하좌우의 총합을 저장하는 배열이다.이 문제는 배열을 전체 탐색하면서 모든 경우의 수를 고려해야 한다.dfs()에서 모든 좌표에 대해서 탐색을 돌면서 방문하지 않은 좌표에 대해서 재귀적으로 호출한다. 현재 좌표를 방문 처리하고 해당 좌표에 대해서 다시 탐색을 한다. 탐색이 종료되면 방문 기록을 지워서 모든 경우의 수를 고려할 수 있도록 한다. 참고로 x, y = 1 ~ N -1 까지 탐색하는 이유는 sumArr 배열의 모서리 부분은 모두 0이 저장되어 있기 때문에 탐색할 필요가 없다. 모서리 부분은 꽃을 심을 수 없는 영역이기 때문이다.코드import java.io.*;i..
https://www.acmicpc.net/problem/14889풀이처음에는 스타트 값을 더하기위해 인덱스를 저장한 배열, 링크를 위한 배열을 별도로 생성했다. 근데 도저히 코드로 어떻게 풀어나가야할지 떠오르지가 않아 다른 사람의 방법을 선택했다. visited 배열을 사용하여 true인 인덱스는 start에 더하고, false는 link에 더한다. dpeth가 N / 2일 때 계산을 하는 이유는 문제에서 설명하길 팀 인원은 N / 2명이라고 명시되어 있기 때문이다. calculate()에서 i의 범위를 N까지하면 j와 중복되는 인덱스가 발생하기 때문에 N - 1로 설정한다. N이 4일 때의 예시이다.i = 0j = 1, 2, 3i = 1j = 2, 3i = 2j = 3i = 3j = 3코드import..