본문 바로가기

Java11

[Algorithm] 6월8일 알고리즘 연습 (프로그래머스 level2) - 에이젠 Lv. 2 위장 - 성공 테스트케이스를 통과해도 채점결과가 처참한 경우가 많은 것 같다... 내풀이(1) : 정확도 25% : 한가지 or 모든 악세사리를 착용하는 경우만 생각함. 세가지 카테고리중 두개만 선택하는 경우 같은 케이스를 배제하는 실수. 해결 : 각각의 카테고리 마다 케이스는 카테고리개수 중 하나를 선택 OR 선택하지 않는다의 경우의수가 존재. 모두 곱한 후 아무선택도 하지 않는 경우를 배제. class Solution { public int solution(String[][] clothes) { int answer = 0; Map map = new HashMap(); for(int i = 0; i< clothes.length ; i++){ if(map.containsKey(clothes[i.. 2022. 6. 8.
[Algorithm]6월6일 알고리즘 연습 (프로그래머스 level2) - 에이젠 가장큰수 - 실패 내풀이(1) : 일부 테스트케이스만 통과하고 나머지는 런타임 오류. - 아마도 자료형 범위를 초과했기 때문이라 예상. // 정수를 이어 붙여 만들 수 있는 가장 큰 수 //정수 N개 중 N개를 뽑아서 중복을 허용하지 않고 순서가 있게 배열. class Solution { int N = 0; boolean[] used = {}; int[] selected = {}; int[] nums = {}; //생성된 숫자들 배열마지막에 정렬 필요 ArrayList list = new ArrayList(); public String solution(int[] numbers) { String answer = ""; used = new boolean[numbers.length + 1]; nums = nu.. 2022. 6. 6.
[Algorithm] 6월2일 알고리즘 연습(프로그래머스 Level2) - 에이젠 Lv. 2 기능개발 - 성공 처음에 한 실수 -> 첫번째 기능보다 배포까지 남은 기간이 짧기만하면 모두 배포될 기능 개수에 추가시켜버리는 실수. level2부터는 이런 실수를 자주하게 될 것으로 예상. -> 중간에 기능을 이해하면서 코드를 침착하게 고쳐나가는 습관들이기 연습. import java.util.*; import java.io.*; class Solution { //개발은 순서에 상관없음. //배포는 앞에꺼 먼저 배포 //progresses => 작업진도 [93, 30, 55] //speeds => 개발 속도 [1, 30, 5] //배포마다 몇개의 기능이 배포되는지 return //남은 일수 : int //앞에꺼가 배포될때까지 기다림. //첫번째 작업의 남은 일수 & 남은 일수보다 짧게 남은.. 2022. 6. 2.
[Algorithm] 5월 31일 알고리즘 연습 Lv. 1 완주하지 못한 선수 - 오래 걸림 (여러 시행착오) 복습할 내용 : HashMap 사용법 containsKey() keySet() get() put() import java.io.*; import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap dupMap = new HashMap(); for(String st : participant){ //동명이인이 이미 존재한다면 int num = 0; if(dupMap.containsKey(st)){ num = dupMap.get(st); } dupMap.put(st,num + .. 2022. 6. 1.
728x90