목록코딩/백준 알고리즘 (97)
삐까냥의 파도타기
문제 출처 : https://www.acmicpc.net/problem/1700 import java.util.Scanner; public class Q1700 { static int[][] multiTab;static int[] jobList;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int size = sc.nextInt();//구멍 개수int num = sc.nextInt(); multiTab = new int[size][2];jobList = new int[num];for ( int i = 0; i < num; i++ ) {jobList[i] = sc.nextInt();}int nowPoint = 0;in..
문제 출처 : https://www.acmicpc.net/problem/1049 import java.util.Scanner; public class Q1049 { static int eaNum;public static void main(String[] args) {Scanner sc = new Scanner(System.in);eaNum = sc.nextInt();int shopNum = sc.nextInt();int[] min = new int[2];min[0] = sc.nextInt();min[1] = sc.nextInt();for ( int i = 1; i < shopNum; i++ ) {int setPrice = sc.nextInt();min[0] = min[0] < setPrice ? min[..
문제 출처 : https://www.acmicpc.net/problem/2875 import java.util.Scanner; public class Q2875 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] member = new int[3];//0.여자, 1.남자, 2.인턴for ( int i = 0; i 1 && member[1] > 0 ) {member[0] -= 2;//여자 두명과 남자 한명을 팀으로 바꾼다.member[1] -= 1;team++;}member[2] -= member[0] + member[1];//나머지 인원들을 인턴으로 보낸다.if ( member[2] > 0 ) {//인턴 할당..
문제 출처 : https://www.acmicpc.net/problem/10610 주의할점 : 입력된 숫자를 모두 사용해야 된다는 것. 이것만 주의하면 너무나 쉬운 문제입니다. import java.util.Scanner; public class Q10610 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String number = sc.next();int[] nums = new int[10];int sum = 0;for ( int i = 0; i < number.length(); i++ ) {int temp = number.charAt(i)-48;nums[temp] += 1;sum += temp;}if ( num..
문제 출처 : https://www.acmicpc.net/problem/2217 import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Scanner; public class Q2217 { public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();int[] lopeList = new int[num];for ( int i = 0; i < num; i++ ) {lopeList[i] = sc.nextInt();}Arrays.sort(lopeList);int result = l..
문제 출처 : https://www.acmicpc.net/problem/11399 import java.util.ArrayList;import java.util.Collections;import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();ArrayList number = new ArrayList();for ( int i = 0; i < num; i++ ) {number.add(scanner.nextInt());}Collections.sort(number);int sum = 0;for ( ..
문제 출처 : https://www.acmicpc.net/problem/11053 import java.util.Scanner; public class Q11053 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int input = scanner.nextInt();int[][] array = new int[input][2];//0번째 -> input 값, 1번째 -> 증가 부분 수열의 길for ( int i = 0; i = 0;..
문제 출처 : https://www.acmicpc.net/problem/10844 import java.util.Scanner; public class Q10844 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int input = scanner.nextInt();scanner.close();int[][] array = new int[input][10];int value = 1000000000;//첫번째 자리에는 0이 올수 없으니 1부터 9까지 한가지 방법for ( int i = 1; i < 10; i++ ) {array[0][i] = 1;}//입력한 n까지 계산하기for ( int i = 1; i < i..
문제 출처 : https://www.acmicpc.net/problem/1010 순열 조합으로 풀었습니다. import java.util.Scanner;public class Main{ public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int input = scanner.nextInt();for ( int j = 0; j < input; j++ ) {int r = scanner.nextInt();int n = scanner.nextInt();long result = 1l;// n 컴비네이션 r (nCr) 계산if ( r != n ) {if ( n /2 < r ) {r = n - r;}for ( int i = 0..
문제 출처 : https://www.acmicpc.net/problem/1912 예제가 함정을 말해주지 않아서 까다로운 문제입니다. 함정을 파악할 수 있도록 예제를 수정하겠습니다."10 -4 5 7 9 7 -35 12 21 -1"를 입력하면 결과는 34가 나옵니다.10 + (-4) + 5 + 7 + 9 + 7 의 결과값 34가 12 + 21 의 결과값 33 보다 크기 때문입니다. 단순하게 숫자가 0보다 작을 경우에는 덧셈을 종료하는 것이 아니라,"sum(n-1) + n항"과 "n항"의 값을 비교하면 됩니다.배고파서 그런지 설명이 안되네요. 코드 보시죠. import java.util.Scanner;public class Q1912 {public static void main(String[] args) {..