본문 바로가기

level 1~224

알고리즘(JadenCase 문자열 만들기, N개의 최소공배수) - Java [JadenCase 문자열 만들기] 입력된 문자를 모두 소문자로 변경한다 첫 번째 글자를 대문자로 바꾼 뒤, 다음 문자부터 순서대로 로직을 진행한다 현재 글자를 기준으로 이전의 문자가 공백이라면 -> 현재 글자를 대문자로 변경한다 이전의 문자가 글자라면 -> 현재 글자를 그대로 받는다 // JadenCase 문자열 만들기 public class Problem_JadenCase { public static void main(String[] args) { String s = "3people unFollowed me "; String answer = solution(s); System.out.println(answer); } public static String solution(String s) { Strin.. 2020. 5. 5.
알고리즘(최댓값과 최솟값, 최솟값 만들기, 피보나치 수, 행렬의 곱셈) - 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.