코딩테스트/Baekjoon 5

[백준 9656] 돌 게임2 (DP)

import java.util.*; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String answer = (n % 2 == 0) ? "SK" : "CY"; System.out.println(answer); } } 이게 되나 ? 하고 홀짝으로 나눠서 풀어봤는데 정답은 맞았지만 ... DP 연습해야지 import java.util.*; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextI..

[백준 9095] 1, 2, 3 더하기 (DP)

DP 연습중 ... 접근을 거의 다 했는데 뒷심 부족인가... ㅠ 다해놓고 구현 못함 1을 만드는 경우 dp[1] = (1) -> 1개 2를 만드는 경우 dp[2] = (2), (1, 1) -> 2개 3을 만드는 경우 dp[3] = (3), (1, 1, 1), (1, 2), (2, 1) -> 4개 4를 만드는 경우 dp[4] 1, 1, 1, 1 1, 1, 2 1, 2, 1 1, 3 2, 1, 1 2, 2 3, 1 1 + 3 ( 앞이 1일 때, 3을 만드는 경우의 수 ) -> 4개 2 + 2 ( 앞이 2일 때, 2를 만드는 경우의 수 ) -> 2개 3 + 1 ( 앞이 3일 때, 1을 만드는 경우의 수 ) -> 1개 dp[n] = dp[n - 1] + dp[n - 2] + dp[n - 3] import ja..

int 배열 arr에서 합이 100인 서로 다른 위치의 두 원소가 존재하는지 구하기

Q. 주어진 길이 N의 int 배열 arr에서 합이 100인 서로 다른 위치의 두 원소가 존재하면 1, 존재하지 않으면 0 반환하는 함수 func2(int arr[], int N) 작성 (arr의 각 수는 0 이상 100 이하, N은 1000 이하) func2({1, 52, 48}, 3) = 1; func2({50, 42}, 2) = 0; func2({4, 13, 63, 87}, 4) = 1; public static void main(String[] args) { int[] arr = {4, 13, 63, 87}; int N = 4; System.out.println("answer: " + func2(arr, N)); } private static int func2(int[] arr, int n) { ..

주어진 문자열에서 각 알파벳이 몇 번씩 나왔는지 구하기

import java.util.Arrays; public class App { public static void main(String[] args) { // 주어진 문자열에서 각 알파벳이 몇 번씩 나왔는지 String str = "sjan djfudnj alcls"; // 문자열 -> char[] char[] cArray = str.toCharArray(); // 알파벳 빈도수 담을 배열 int[] freq = new int[26]; for(char c : cArray) { if(c - 'a' != -65)// space - 'a' = -65 freq[c - 'a']++;// 'a' = 97 } System.out.println(Arrays.toString(freq)); } } 📌알아둘 것 * Strin..