목록알고리즘 (36)
영원히 흘러가는 강
해시 레벨 1.. 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 [leo, kiki, eden] [eden, kiki] leo [marina, josipa, nikola, vinko, filipa] [josipa, filipa, marina, nikola] vinko [mislav, stanko, mislav, ana] [stanko, ana, mislav] mislav 처음 이문제 받았을때 동명이인..
코딩 테스트에서 가장 빈도수가 높은 위의 두개가 항상 어렵기만 하고 손을 놓았었지만!!!! 이해 쉽게 설명해 놓은 곳이 있어서 기록 다 읽고 이해해보기!!! DFS blog.encrypted.gg/942?category=773649 [실전 알고리즘] 0x0A강 - DFS 드디어 01 02 03 이렇게 숫자를 넘어서 0A강에 도달했습니다. 아직 완결까지는 한참 남았지만 아무튼 힘을 내서 계속 잘 해봅시다. 아, 참고로 저번 단원보다는 내용이 많지 않아 blog.encrypted.gg BFS blog.encrypted.gg/941?category=773649 [실전 알고리즘] 0x09강 - BFS 안녕하세요 여러분, 드디어 올 것이 왔습니다. 마음의 준비를 단단히 하셔야 합니다.. 드디어 실전 알고리즘 강의..
11047. 동전 0 그리디의 기초문제. import java.util.Arrays; import java.util.Scanner; class main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int money=sc.nextInt(); int arr[]=new int[n]; int mok=0,nam=0; int sum=0; for(int i=0;i=0;i--){ if(money>=arr[i]) { mok=money/arr[i]; nam=money%arr[i]; money=nam; sum=sum+mok; } } System.out.println(sum); }} 1931. 회..
2차원 배열 정렬시 인덱스에 따라 정렬 (현재 arr[x][y] y배열 정렬) Arrays.sort(arr, new Comparator() { @Override public int compare(int[] o1, int[] o2) { return o1[1] - o2[1]; } });
10828 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. import java.util.Scanner; import java.util.Stack; public class main2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int x=Integer.parseInt(sc.nextLine()); //입력 수 Stack stack = new Stack(); //스택 System.out.println(" ");..
2798 블랙잭 3개 조합으로 입력받은수에 근접 but 입력수 보다 커서는 안됨 import java.util.Scanner; public class main2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x=sc.nextInt(); // 입력 개수 int y=sc.nextInt(); // 근처의 수 int sum=0; int max=0; int[] arr=new int[x]; for(int z=0;z
10872 팩토리얼! import java.util.Scanner; class main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int sum=fac(n); System.out.println(sum); } public static int fac(int n) { if(n==1) { return 1; } else return n*fac(n-1); }} 10870 피보나치 수 (n-2)+(n-1)로 이어짐 import java.util.Scanner; class main { public static void main(String[] args) { Scanner sc=new Sc..
실수로 순서대로 못풀은 문제.. 2884번 알람 시계 입력 받은수의 45분전 출력 import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x=sc.nextInt(); int y=sc.nextInt(); y=y-45; if(y
1096. 바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다. 둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력된다. n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 같은 좌표는 입력되지 않는다. import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int arr[][]=new int[20][20]; int n=sc.nextInt(); for(int i=0;i
1091. 시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때, n번째 수를 출력하는 프로그램을 만들어보자. import java.util.Scanner; public class main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a=sc.nextInt(); int m=sc.nextInt(); int d=sc.nextInt(); int n=sc.nextInt(); for(int i=1;i