‡ CODING TEST STUDY ‡/º 프로그래머스 55

[프로그래머스 | Java Lv.3] 단어 변환(dfs/bfs)

문제https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2. words에 있는 단어로만 변환할 수 있습니다. 각 단어는 알파벳 소문자로만 이루어져 있습니다.각 단어의 길이는 3 이상 10 이하이며 모든 단어의 길이는 같습니다.words에는 3개 이상 50개 이하의 단어가 있으며 중복되는 단어는 없습니다.begin과 target은 같지 않습니다.변환할 수 없는 경우에는 0를 return 합니다. 문제랑 ..

[프로그래머스 | Java Lv.2] [복습] 게임 맵 최단거리 (dfs/bfs)

문제https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  또.....! 실수했다..................! bfs 언제까지 안외울래 접근 💡최소 (최단 거리)를 구해야하기 때문에 dfs 말고 bfs로 풀어야 한다.  💡가로, 세로 설정을 잘 해줘야 함 x,y는 이차원 배열에서 maps[y][x] 로 표현하고,x의 길이(가로)는 maps[0].lengthy의 길이(세로)는 maps.length 로 표현한다최종코드package week6.baek..

[프로그래머스 | Java Lv.2] [복습] 타겟 넘버(dfs/bfs)

문제https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krpackage week6.baek.dfsbfs;public class TargetNumber { static int count = 0; public static int solution(int[] numbers, int target) { dfs(numbers,target, numbers[0], 1); dfs(numbers, target, -numbers[0], 1)..

[프로그래머스 | Java Lv.2] [복습] 모음사전 (완전 탐색)

문제https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr최종 코드package week6.baek.exhaustiveSearch;import java.util.ArrayList;import java.util.Collections;public class Vowel { static String[] vowel = {"A", "E", "I", "O", "U"}; static ArrayList dic = new ArrayList(); static..

[프로그래머스 | Java Lv.1] 모의고사 (완전 탐색)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42840?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코드가 좀 많이 비효율적인 것 같지만.... 최종코드package week6.baek.exhaustiveSearch;import java.util.ArrayList;public class MockTest { public static ArrayList solution(int[] answers) { ArrayList result = new ArrayList(..

[프로그래머스 | Java Lv.2] [복습] H-index (정렬)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근아니 난 이 문제가 왜이렇게 어렵지? 최종코드package week6.baek.sort;import java.util.Arrays;public class HIndex { public static int solution(int[] citations) { Arrays.sort(citations); int h=0; for (int i = 0; i = disc..

[프로그래머스 | Java Lv.2] [복습] 가장 큰 수 (정렬)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 접근 Comparator override를 다음과 같이 람다로 표현해서 더 깔끔하게 해보았다 Arrays.sort(s, (o1, o2)-> (o2+o1).compareTo(o1+o2)); Arrays.sort(s, new Comparator(){ @Override public int compare(String o1, String o2..

[프로그래머스 | Java Lv.1] [복습] K번째 수 (정렬)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 접근이번에는 전에 이 문제 스터디하는 도중에 알게 된 Arrays.copyOfRange를 사용해서 풀어봤다.  Arrays.copyOfRange Arrays.copyOfRange(배열, 시작 인덱스, 마지막 인덱스 +1)  안찾아보고 하다가 마지막 인덱스+1 안해주다가 이상한 짓 했다.. 외우기!  최종 코드package week6.baek.sort;import java.util.ArrayList..

[프로그래머스 | Java Lv.2] [복습] 더 맵게 (힙 Heap)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근시간차를 얼마 두지 않고 복습한거라 큰 어려움 없이 풀었던 문제! 최종 코드package week6.baek.heap;import java.util.Comparator;import java.util.PriorityQueue;public class MoreSpicy { public static int solution(int[] scoville, int K) { PriorityQu..

[프로그래머스 | Java Lv.2] 게임 맵 최단거리 (DFS/BFS)

문제https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근일반적인 dfs/bfs 문제였다. dfs로 구현을 했었지만 까먹었던 부분이 최단 경로를 찾는 문제에서는 bfs가 더 적합하다는 것이었다. dfs는 모든 경로를 탐색하는 알고리즘이기 때문에 도착점에 도달하는 순간 종료되는 bfs를 이용하는 게 좋다. 이 문제는 dfs로 풀 경우 테스트 케이스는 모두 통과하지만 효율성 테스트에서 모두 실패가 뜬다.  첫번째 제출 -  DFS 이용, 시간 초과packa..