[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 퍼즐 조각 채우기
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/84021 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 뭔가 동작이 필요할 때마다 메서드를 분리했더니 엉망이 되어버린 코드...문제가 생겼는데 혼자 고칠 수가 없어서 지피티의 많은 도움을 받았다...무작정 메서드 분리하는 것이 오히려 마이너스임을 깨달았다...나를 조금 덜 믿고 메서드 별로 테스트하자... 정답 코드 1. table에서 블록을 찾는다.2. game_board에서 빈칸을 찾는다.3. BFS로 연결된 칸들을 Shape로 묶는다.4. Shape를 정규화해서 위치 차이를 없앤다. -> 정렬과 0,..
[프로그래머스 알고리즘 고득점 Kit][정렬][Java] 가장 큰 수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2개의 문자열을 사전순 역으로 하면아래처럼 쉽게 할 수 있다. 길이가 달라도 2개를 이어 붙여서 판단하면 간단하게 할 수 있다.그렇게 정렬하면 맨앞에 0이 오는 경우를 제외하고는 이어 붙여서 반환하면된다. import java.util.*;class Solution { public String solution(int[] numbers) { String[] numStr = new String[numbers.length]; f..
[프로그래머스 알고리즘 고득점 Kit][정렬][Java] K번째 수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42748 정답 코드유의점 i, j, k는 1~n을 따라서 배열의 인덱스를 0~n-1인지 잘 체크해줘야한다. Integer.compare를 쓰는 이유 여기선 필요없는데 (정수 - 정수)가 Integer의 범위를 넘겨 오버플로우가 나는 것을 예방하기 위해사용한다.import java.io.*;import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { int m = commands.length; int[] answer = new int[m]; for(int c..