1. 입력받고 문자열 자를 경우 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); /* 1 2 3... 입력 */ int n = Integer.parseInt(br.readLine()); // read, readLine 밖에 없으므로 정수는 파싱 필요 for (int i = 0; i < n; i++) { String[] text = br.readLine().split(" "); // 1, 2, 3.. } 2. 숫자 입력받고 숫자만큼 문자열 입력 /* n = 3 */ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int n = Integer..
문제 https://www.acmicpc.net/problem/15658 15658번: 연산자 끼워넣기 (2) N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 연산자의 개수 www.acmicpc.net 풀어보기전에, 아래 문제를 먼저 풀어보자. 백준 14888번_연산자 끼워넣기 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정..
문제 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 풀이코드 package seohae.algorithm.level2; import java.io.IOException; import java.util.*; /** * https://www.acmicpc.net/problem/14888 */ public class Problem_016_14888 { public static int[] arr..
문제 https://programmers.co.kr/learn/courses/30/lessons/12938?language=java 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만 programmers.co.kr 풀이 코드 package seohae.algorithm.level3; import java.util.Arrays; /** * https://programmers.co.kr/learn/courses/30/lessons/12938 */ public class Lesson_051_12938 { public sta..
1. 최대공약수 static int gcd (int a, int b) { while (b != 0) { int r = a % b; a = b; b = r; } return a; } 2. 최대공배수 static int lcm(int a, int b) { return a * b / gcd(a,b); }
문제 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 풀이코드 package seohae.algorithm.level2; import java.util.Arrays; /** * https://programmers.co.kr/learn/courses/30/lessons/43165 */ public class Lesson_052_43165 { static in..
문제 https://www.acmicpc.net/problem/14225 14225번: 부분수열의 합 수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 www.acmicpc.net 풀이코드 package seohae.algorithm.level2; import java.io.IOException; import java.util.*; import java.util.stream.IntStream; /** * https://www.acmicpc.net/problem/14225 */ public class P..
1. 문자열 치환 StringBuilder sb = new StringBuilder(); sb.append(phone_number); for (int i = 0; i < phone_number.length() - 4; i++) { sb.replace(i, i + 1, "*"); } answer = sb.toString(); 2. 문자열의 맨 뒤 4자리 answer += phone_number.substring(phone_number.length() - 4);
1. chat -> int sum += Character.getNumericValue(a); 2. Array -> List /* Array to List */ List intList = Arrays.stream(scoville).boxed().collect(Collectors.toList());
1. 2차원 배열 생성하기 int[][] arr1 = new int[2][1]; arr1[0][0] = 1; arr1[1][0] = 2; System.out.println(Arrays.deepToString(arr1)); int[][] arr2 = new int[2][1]; arr2[0][0] = 3; arr2[1][0] = 4; 2. 2차원 배열 출력하기 int[][] arr1 = new int[2][1]; arr1[0][0] = 1; arr1[1][0] = 2; System.out.println(Arrays.deepToString(arr1)); int[][] arr2 = new int[2][1]; arr2[0][0] = 3; arr2[1][0] = 4; System.out.println(Arrays...
1. 정렬 Collections.sort(sumList); /* 정렬 */ 2. 역순 정렬 1) Collections.sort(sumList, Collections.reverseOrder()); 2) sumList.sort(Collections.reverseOrder()); 3) Collections.sort(sumList); Collections.reverse(sumList);
1. 정렬 Arrays.sort(arr); 2. 역순 정렬 Arrays.sort(arr, Collections.reverseOrder());