알고리즘36 [Algorithm] 6월9일 알고리즘 연습 (프로그래머스 LEVEL2) - 에이젠 Lv. 2 다리를 지나는 트럭 - 성공 방법이 떠오르지 않아서 다리와 트럭 객체를 만들어서 해결해보려했다. 하지만 ConcurrentModificationException 에러가 발생하였다. Map.remove()과정에서 발생하였을 것이다. 1. map의 Key로 활용한 트럭객체의 값이 변경되는 mutable한 객체이기때문에 문제가 발생하는 것 같다. -> 아무 객체나 Map의 Key값으로 쓰면 안 되겠다. 값이 변하는 객체X 2. 두번째 이유는 반복문이 도는 도중에 컬렉션값을 변경하였기때문에 발생하는 것 같다. https://imasoftwareengineer.tistory.com/85 자바 Collection Iterator - ConcurrentModificationException 자바에서 Ite.. 2022. 6. 9. [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월 7일 알고리즘 연습 (프로그래머스 level2) - 에이젠 Lv. 2 게임 맵 최단거리 - 실패 내풀이 (1) : 정확도 55% : DFS는 최단거리구하기에 적합하지 않다. BFS로 다시 풀어볼것. class Solution { int N = 0; int M = 0; int[][] map = {}; boolean[][] visited = {}; int count = 0; int[][] dir = {{1,0},{0,1},{-1,0},{0,-1}}; boolean isPossible = false; int shortest = 10000; public int solution(int[][] maps) { int answer = 0; N = maps.length; M = maps[0].length; map = maps; visited = new boolean[N][M];.. 2022. 6. 7. [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월5일 알고리즘 연습(프로그래머스 level2) -에이젠 Lv. 2 빛의 경로 사이클 - 실패 참고한 풀이 https://jisunshine.tistory.com/175 [level2] 프로그래머스 - 빛의 경로 사이클(JAVA) 문제가 잘 이해가지 않아서, 질문하기에 문제 설명 보고나서 풀었다ㅠ [ 문제 풀이 ] - grid의 각 정점이 4방향 [상, 하, 좌, 우]로 들렸는지 여부를 저장할 3차 배열을 만들어준다. - 방향(d)의 순서 jisunshine.tistory.com Lv. 2 전화번호 목록 - 실패 복습할 내용 배열.startsWith() class Solution { public boolean solution(String[] phoneBook) { // 1. HashMap을 선언한다. Map map = new HashMap(); // 2. 모든.. 2022. 6. 5. [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] 6월1일 알고리즘 연습 (프로그래머스 2단계) Lv. 2 멀쩡한 사각형 - 실패 참고할 풀이: https://velog.io/@ajufresh/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%A9%80%EC%A9%A1%ED%95%9C-%EC%82%AC%EA%B0%81%ED%98%95-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-Java [프로그래머스] 멀쩡한 사각형 문제풀이 (Java) 프로그래머스 멀쩡한 사각형 문제풀이 velog.io 내풀이 class Solution { public long solution(int w, int h) { long answer = 1; //전체 칸수 long totalBox = w*h; long deletedBox = 0; int temp.. 2022. 6. 2. 이전 1 2 3 4 5 6 다음 728x90