취업준비 - 코테 , 면접/알고리즘(코테) 공부 (104) 썸네일형 리스트형 알고리즘입문(Java) - HashMap,TreeSet 1.학급회장 (문제) (풀이) import java.util.*; class Main { public char solution(int n, String s){ char answer=' '; HashMap map=new HashMap(); for(char x : s.toCharArray()){ map.put(x, map.getOrDefault(x, 0)+1); } int max=Integer.MIN_VALUE; for(char key : map.keySet()){ if(map.get(key)>max){ max=map.get(key); answer=key; } } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb.. 알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 6.최대 길이 연속부분수열 (문제) (풀이) import java.util.*; class Main { public int solution(int n, int k, int[] arr){ int answer=0, cnt=0, lt=0; for(int rt=0; rtk){ if(arr[lt]==0) cnt--; lt++; } answer=Math.max(answer, rt-lt+1); } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int k=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i 알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 5.연속된 자연수의 합 (풀이) import java.util.*; class Main { public int solution(int n){ int answer=0, sum=0; int m=n/2+1; int[] arr=new int[m]; for(int i=0; i0){ cnt++; n=n-cnt; if(n%cnt==0) answer++; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); System.out.print(T.solution(n)); } } 알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 4.연속부분수열 (풀이) import java.util.*; class Main { public int solution(int n, int m, int[] arr){ int answer=0, sum=0, lt=0; for(int rt=0; rt=m){ sum-=arr[lt++]; if(sum==m) answer++; } } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int m=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i 알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 3.최대매출 (풀이) import java.util.*; class Main { public int solution(int n, int k, int[] arr){ int answer, sum=0; for(int i=0; i 알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 2.공통원소구하기 (문제) (풀이) import java.util.*; class Main { public ArrayList solution(int n, int m, int[] a, int[] b){ ArrayList answer = new ArrayList(); Arrays.sort(a); Arrays.sort(b); int p1=0, p2=0; while(p1 알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 1. 두 배열 합치기 (풀이) import java.util.*; class Main { public ArrayList solution(int n, int m, int[] a, int[] b){ ArrayList answer = new ArrayList(); int p1=0, p2=0; while(p1 알고리즘입문(Java) - Array -12. 멘토링 (풀이) 이전 1 ··· 6 7 8 9 10 11 12 13 다음