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

[프로그래머스 | Java Lv.2] 카펫 (완전 탐색)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42842?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  중앙에 노란색 타일이 있고, 갈색 타일이 감싸고 있는 형태.노란색과 갈색 타일의 개수가 주어지면, 전체 타일의 가로/세로 길이를 반환해야 하는 문제접근  전체 타일의 수를 먼저 구하고, 최소공배수로 나올 수 있는 가로*세로 조합을 모두 찾은 후, 노란색과 갈색 타일의 개수가 일치하는 경우를 찾는 방식으로 하면 되지 않을까?  최종 코드 package week4.baek...

[프로그래머스 | Java Lv.3] 등굣길 (DP, 동적 프로그래밍)

문제https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 접근 초등학생 때 풀었떤 문제인데.. 그냥 4*3 - (2*2) 해서 4 아닌가? 전체 경우의 수 - 웅덩이를 지나서 도착하는 경우의 수 먼저 오른쪽과 아래쪽으로만 움직일 수 있으므로 좌표로 표현하면(x,y) -> (x+1, y) 또는 (x, y+1) 규칙을 찾아내서 점화식을 세우자 - DPmap[i][j] = map[i-1][j] + map[i][j-1] 어떤 블록까지 가는 최단 거리의 경우의 ..

[프로그래머스 | Java Lv.3] 정수 삼각형 (DP, 동적 프로그래밍)

문제https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr첫번째 제출 - dfs 사용 : 시간 초과package week5.baek.dp;import java.util.ArrayList;import java.util.Collections;public class Ex2 { static ArrayList list = new ArrayList(); public static void dfs(int[][] triangle, int i, int depth..

[프로그래머스 | Java Lv.2] 모음사전

문제https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근이번 문제는 어떤 순서로 풀어야할 지 쉽게 알 수 있었던 문제였다. 1. 길이가 5 이하인 사전을 만든다. 2. 주어진 word를 검색해서 index + 1을 반환한다.  사전 만들기 사전 만드는 것은 dfs를 사용해서 풀면 됐던 문제!  public void dfs(String[] s, String result, int length){ //길이가 맞으면, list에 추가 ..

[프로그래머스 | Java Lv.3] 여행 경로

문제https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr첫 번째 제출 코드 (실패) - 첫번째 테스트케이스 메모리 초과 package week3.baek.dfsbfs;import java.util.ArrayList;import java.util.Collections;public class Ex6 { ArrayList answer = new ArrayList(); int[] visited; public void dfs(int depth, ..

[프로그래머스 | Java Lv.2] 네트워크

문제https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  최종 코드package week3.baek.dfsbfs;public class Ex2 { static int[] visited; public void dfs(int i, int[][] computers){ visited[i] = 1; for (int j = 0; j 참고https://beaniejoy.tistory.com/41

[프로그래머스 | Java Lv.2] 타겟 넘버

문제https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr dfs/bfs 문제는 감만 익히면 코드가 정말 간단해서 좋은데 dfs/bfs라는 것을 인지 못하면.. 더러운 길로 갈 수 있음제발 이젠 외워 어떻게 푸는 지 최종코드 package week3.baek.dfsbfs;public class Ex1 { int answer = 0; public int solution(int[] numbers, int target) { dfs(num..

[프로그래머스 | Java Lv.1] 최소직사각형

문제https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr최종 코드import java.util.*;class Solution { public int solution(int[][] sizes) { //가로든 세로든 길이가 작은 거, 긴거 순서로 다시 정렬 for(int[] i : sizes){ Arrays.sort(i); } //그 중 가장 길고 작은 ..

[프로그래머스 | Java Lv.3] 이중우선순위큐

문제https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모 j를 출력했을 때 I가 잘 나오는데 큐에 삽입이 되고 있지 않은 걸 확인했다. if( j == "I" ) 를 해서 그랬던 것  for(String s : operations){ System.out.println("des = " + des); String j = s.split(" ")[0]; System.out.println..

[프로그래머스 | Java Lv.2] 가장 큰 수

문제  https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr삽질 [6, 10, 2] 일 때 배열은 [10, 2, 6]으로 정렬[3, 30, 34, 5, 9]일 때는 [30, 3, 34, 5, 9]로 정렬 첫번째 자리의 숫자로 먼저 정렬하고,그게 같다면 그 뒷 자리부터는1. 뒷자리가 첫번째 자리보다 클 때 2. 뒷자리가 첫번째 자리와 같거나 없을 때3. 뒷자리가 첫번째 자리보다 작을 때순서로 정렬 .. 처음엔 우선 순위 큐를 사용해서 Comparable을..