본문 바로가기

분류 전체보기

(31)
코딩테스트 연습 > 탐욕법(Greedy) > 큰 수 만들기 이전 코드 import java.util.*; import java.util.regex.Pattern; class Solution { public String solution(String number, int k) { StringBuilder stringBuilder = new StringBuilder(); int ansLen = number.length() - k; if(Pattern.matches(number.charAt(0) + "{" + number.length() +"}", number)){ return number.substring(0, number.length() - k); } if(number.equals("0")){ return "0"; } else { while (true){ if (k..
코딩테스트 연습 > 탐욕법(Greedy) > 조이스틱 기존 코드 (실패) import java.util.*; class Solution { public int solution(String name) { int answer = 0; int len = name.length(); //최대로 가질 수 있는 min값은 끝까지 가는것 int min_move = len-1; for(int i=0; i
코딩테스트 연습 > 탐욕법(Greedy) > 체육복 기존 코드 import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; ArrayList lostArrayList = new ArrayList(); ArrayList reserveArrayList = new ArrayList(); for (int lost1 : lost){ lostArrayList.add(lost1); } for (int reserve1 : reserve){ reserveArrayList.add(reserve1); } for (int lost1 : lost){ if (reserveArrayList.contains(lost1)){ lostArrayList.r..
코딩테스트 연습 > 완전탐색 > 카펫 기존 코드 import java.util.*; class Solution { public int[] solution(int brown, int yellow) { int[] answer = {}; for (int i = (int) Math.sqrt(yellow) ; i > 0 ; i --){ if(i * 2 + yellow / i * 2 + 4 == brown){ return new int[]{Math.max(yellow / i , i) + 2, Math.min(yellow / i , i) + 2}; } } return answer; } } 최근 코드 import java.util.*; class Solution { public int[] solution(int brown, int yellow) { int..
코딩테스트 연습 > 완전탐색 > 소수 찾기 이전 코드 import java.util.*; class Solution { ArrayList allIntArray = new ArrayList(); public int solution(String numbers) { int answer = 0; int length = numbers.length(); int[] arr = new int[length];; char[] cArray = numbers.toCharArray(); for (int i = 0 ; i < cArray.length ; i++){ arr[i] = Integer.parseInt(String.valueOf(cArray[i])); } for (int i = 1 ; i = 2 ; i--){ if(num % i == 0){ isNumPrime =..
코딩테스트 연습 > 완전탐색 > 모의고사 이전 코드 import java.util.*; class Solution { public int[] solution(int[] answers) { int[] answer = {}; ArrayList stArrayList = new ArrayList(); stArrayList.add(new Student(1)); stArrayList.add(new Student(2)); stArrayList.add(new Student(3)); Queue secondAns = new LinkedList(Arrays.asList(2, 1, 2, 3, 2, 4, 2, 5)); Queue thirdAns = new LinkedList(Arrays.asList(3, 3, 1, 1, 2, 2, 4, 4, 5, 5)); for (i..
코딩테스트 연습 > 정렬 > H-Index 이전 코드 import java.util.*; class Solution { public int solution(int[] citations) { int answer = 0; Integer[] citationDesc = Arrays.stream(citations).boxed().toArray(Integer[]::new); Arrays.sort(citationDesc, Collections.reverseOrder()); for(int i = citationDesc[0] ; i > 0 ; i--){ int count = 0; for (int j = 0 ; j = i){ count ++; if (count >= i){..
코딩테스트 연습 > 정렬 > 가장 큰 수 기존 코드 import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; String numbersSt = Arrays.toString(numbers); String numbersSts [] = numbersSt.substring(1, numbersSt.length() - 1).split(", "); Arrays.sort(numbersSts, new Comparator() { @Override public int compare(String o1, String o2) { return ((o2 + o1).compareTo(o1 + o2)); } }); if(numbersSts[0].equals("0..