Computer Sciences/Problem Solve(155)
-
[Programmers] 뒤에 있는 큰 수 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 스택을 활용하는 문제이다. 처음엔 이중 반복문에 break을 활용하여 해결하려 했으나 테스크 테이스 20~23에서 시간 초과가 발생하였고 이를 해결하기 위해 스택을 활용하여 해결했다. 스택 import java.util.Stack; class Solution { public int[] solution(int[] numbers) { int[] answer = new int[numbers..
2023.09.06 -
[Programmers] 스킬트리
https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 정규식을 활용하면 간단히 해결할 수 있는 문제이다. 먼저 skilltree에서 skill의 문자들만 replaceAll을 통해 추출해낸다. 그리고 추출된 문자열이 skill의 접두사라면 순서대로 스킬을 찍은 것이므로 카운팅한다. 코드 class Solution { public int solution(String skill, String[] skillTrees) { int answer =..
2023.09.05 -
[Programmers] 땅따먹기
https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 DP 문제이다. 처음에 완전 탐색으로 재귀를 활용하여 풀었떠니 모든 케이스에서 시간 초과가 발생했다. 이를 DP를 활용하여 해결하였다. DP class Solution { public int solution(int[][] land) { int answer = 0; int[][] dp = new int[land.length][land[0].length]; for (int col = 0; ..
2023.09.05 -
[Programmers] 게임 맵 최단거리
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 기본적인 DFS/BFS 문제이다. 다만 효율성 때문에 BFS를 사용해야 한다. DFS로 해결하면 효율성 테스트 케이스를 통과하지 못한다. 코드 BFS import java.util.Queue; import java.util.LinkedList; class Solution { private int targetX; private int targetY; private final int[] dx..
2023.09.05 -
[Programmers] 모음사전
https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 DFS를 활용한 완전탐색으로 해결할 수 있는 문제이다. 코드 import java.util.List; import java.util.ArrayList; class Solution { private final String[] VOWELS = {"A", "E", "I", "O", "U"}; private final int MAX = 5; public int solution(String wo..
2023.09.04 -
[Programmers] 더 맵게
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 힙 자료구조를 사용하면 간단하게 해결할 수 있다. 힙은 최솟값 또는 최댓값을 효율적으로 탐색할 수 있는 자료구조이다. 이 문제의 경우 모든 음식의 스코빌 지수를 K 이상으로 높여야 한다. 그렇기 때문에 최소 힙을 사용하여 힙을 peek한 값이 K 이상이 되도록 만들면 된다. 자바에서는 PriorityQueue를 힙의 구현체로 사용할 수 있다. 코드 import java.util.Prio..
2023.09.04