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

[프로그래머스 | Java Lv.3] 입국 심사

문제https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근최근 코테에서 이분 탐색이 나왔었는데 완전 탐색으로 풀어버린 이슈범위가 비정상적으로 크다면 꼭 이분 탐색으로 접근해보자 이슈right을 초기화 해 줄 때 (long)으로 우변을 타입 캐스팅하지 않으면 여러 테스트 케이스에서 걸린다.  long left = 0; long right = (long) n * times[times.length-1]; 나머지는 일반적인 이분 탐색 코드로 풀었다. 최종 코..

[프로그래머스 | Java Lv.3] 단어 변환

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","d..

[프로그래머스 | Java Lv.3] [2019 카카오 개발자 겨울 인턴십] 징검다리 건너기

문제https://school.programmers.co.kr/learn/courses/30/lessons/64062?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근- 징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 번 밟을 때마다 1씩 줄어듭니다.- 디딤돌의 숫자가 0이 되면 더 이상 밟을 수 없으며 이때는 그 다음 디딤돌로 한번에 여러 칸을 건너 뛸 수 있습니다.- 단, 다음으로 밟을 수 있는 디딤돌이 여러 개인 경우 무조건 가장 가까운 디딤돌로만 건너뛸 수 있습니다. 첫번째 코..

[프로그래머스 | Java Lv.2] [2021 카카오 채용연계형 인턴십] - 거리두기 확인하기

문제https://school.programmers.co.kr/learn/courses/30/lessons/81302?language=java#fn1 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 최종 코드import java.util.LinkedList;import java.util.Queue;class Solution { static int dx[] = {-1, 1, 0, 0}; static int dy[] = {0, 0, -1, 1}; public static boolean bfs(int x, int y, String[] p) { ..

[프로그래머스 | Java Lv.2] 무인도 여행

문제https://school.programmers.co.kr/learn/courses/30/lessons/154540?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  일반적인 DFS 문제에 속한다. 상하좌우로 움직일 수 있고, 연결되어 있는 부분의 합을 담은 배열을 반환해주면 된다.    최종 코드 package week19.baek.september24.baek;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class P154..

[프로그래머스 | Java Lv.2] [3차] 방금그곡 (2018 KAKAO BLIND RECRUITMENT)

문제https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    ++ 34번 테스트케이스만 통과 안되는 경우  B#은 주어지지 않았는데.. 34번 테스트 케이스에는 B#이 주어졌나보다 (이유는 모름)밑에 추가해주면 통과 될 것임code = code.replaceAll("B#", "b");최종 코드  package week18.baek;import java.util.Arrays;public class P17683 { public static Strin..

[프로그래머스 | Java Lv.2] 연속된 부분 수열의 합

문제https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 첫번째 코드 - 시간 초과(테스트 케이스 10~16, 20~24)class Solution { public static int[] solution(int[] sequence, int k) { int[] answer = {-1, -1}; // 초기화 시 비정상 값을 사용 for (int i = 0; i 0)) { answer[0] ..

[프로그래머스 | Java | 2017 팁스타운] 짝지어 제거하기

문제https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근처음에는 가장 직관적인 방법으로 일반 반복문을 통해서 문자열 조작을 해주려고 했는데, 몇 가지 테스트 케이스에서 실패와 시간초과가 떴다.  "짝" 지어 제거하기인 문제인 만큼, 괄호 문제에서 짝지어서 제거해줬던 것처럼 자료구조 스택을 이용해야 했던 문제이다.  첫번째 코드 - 일반 반복문 사용 (시간 초과)package week15.baek.august20.baek;public class P_P..

[프로그래머스 | Java | 2024 KAKAO WINTER INTERNSHIP] 가장 많이 받은 선물

문제https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근주어진 예시처럼 직관적으로 하나하나 구현하니까 성공했다!  최종 코드 package week7.baek.kakao2024winter;import java.util.Arrays;import java.util.Collections;import java.util.HashMap;public class Present { public static int solution(String[] friends..

[프로그래머스 | Java Lv.3] [복습] 여행 경로 (dfs/bfs)

문제https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 접근 https://xoxoxoxox.tistory.com/247 단어변환 문제랑 유사했던 문제! 위에서 삽질했던 게 여기서 쓰였다path를 저장했어야 했던 것! 그리고 잘 이용하면 좋을 코드는 path.split(" ");이렇게 했을 때 " "  를 기준으로 배열로 저장된다. 그래서 이번 문제에서 Path를 "ICN JFK ..." 이런 식으로 하나의 String으로 저장하게 한 다음 배열로 반..