본문 바로가기

프로그래머스56

알고리즘(최댓값과 최솟값, 최솟값 만들기, 피보나치 수, 행렬의 곱셈) - Java [최댓값과 최솟값] * 로직 공백을 기준으로 split을 진행하고 최댓값과 최솟값을 갱신해주면 된다 // 최댓값과 최솟값 import java.util.StringTokenizer; public class Problem_MAX_MIN { public static void main(String[] args) { String s = "1 -2 -3 4"; String answer = solution(s); System.out.println(answer); } public static String solution(String s) { String answer = ""; StringTokenizer st; st = new StringTokenizer(s, " "); int min = Integer.MAX_VAL.. 2020. 5. 4.
알고리즘(땅따먹기, 폰켓몬, 숫자의 표현) [땅따먹기] * 로직 현재 행 기준으로 이전 행의 값들 중에서(같은 열 제외) 최댓값을 뽑고, 현재 행의 값과 더해 갱신해준다 ex. 2행 1열의 경우, 1행 2열, 1행 3열, 1행 4열 중 최대 점수를 뽑고(max), dp[2][1] = max + land[2][1]로 갱신한다 dp[i][j] : i, j까지 얻어진 최대 점수 // 땅따먹기 public class Problem_ConquerGround { public static void main(String[] args) { int[][] land = { {1,2,3,5},{5,6,7,8},{4,3,2,1} }; int answer = solution(land); System.out.println(answer); } public static int.. 2020. 4. 28.
알고리즘(단체사진 찍기, 올바른 괄호, 다음 큰 숫자) [단체사진 찍기] * 로직 8명을 일렬로 세우는 경우의 수를 구한다 경우의 수가 구해질 때마다 data[] 질문에 대해 모두 만족하는지를 판단한다 만족 한다면 답을 카운팅한다 // 단체사진 찍기 import java.util.LinkedList; public class Problem_GroupPhoto { static int Size = 8; // 줄을 서는 캐릭터의 수 static String[] Members = {"A", "C", "F", "J", "M", "N", "R", "T"}; static boolean[] checked; static int result; public static void main(String[] args) { int n = 2; String[] data = {"N~F=0".. 2020. 4. 21.