programmers(59)
-
[Programmers] 두 큐 합 같게 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 큐의 합이 같도록 큐의 원소들을 enqueue, dequeue하는 문제이다. 문제 접근은 합이 큰 큐에서 작은 큐로 원소를 enqueue하는 방법을 두 큐의 합이 같아질 때까지 반복하도록 구현했다. 입력값이 int형이므로 총합이 홀수인 경우는 같게 할 수 없으므로 항상 -1을 반환한다. 시도 횟수에 제한을 두는 이유는 순환 문제 때문이다. [1, 1], [1, 5] 인 경우 총합은..
2023.09.07 -
[Programmers] 3 x n 타일링
https://school.programmers.co.kr/learn/courses/30/lessons/12902 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 2 x n 타일링 문제를 풀고 같은 유형이라고 판단된 3 x n 타일링 문제를 풀어보았다. 규칙을 간단히 찾을 줄 알았으나 쉽지 않았고 규칙을 찾기 위해 직접 세보려고 했으나 n이 6인 경우부터 엄청나게 많은 경우의 수가 나오는 것을 알게 됐고 다른 설명글을 참고하게 되었다. 규칙은 f(n)= f(n-2)*4 - f(n-4) 이다. 그리고 이 규칙을 사용하기 위해서는 모듈러 분배법칙을 ..
2023.09.06 -
[Programmers] 2 x n 타일링
https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 기본적인 DP문제이다. n = 4인 경우를 생각해보자. 가능한 경우의 수는 사이트에 나와있는대로 5가지이다. 그렇다면 n = 3인 경우는 어떨까? 1 x 2를 제외한 것들이 해당되므로 3이 될 것이다. n = 2인 경우는 어떨까? 다시 2 x 1을 제외한 것들이 해당되므로 2가 될 것이다. 이를 식으로 계산해보면 a_n = a_(n - 1) + a_(n - 2)가 된다. 이를 그대로 코..
2023.09.06 -
[Programmers] 롤케이크 자르기
https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 형과 동생이 토핑의 개수를 똑같이 나눠먹기 위한 문제이다. 문제를 보고 Set을 사용해서 풀려고 했으나 엄청난 시간 초과를 보았고 Map과 Set을 함께 사용하여 해결했다. 코드 import java.util.Set; import java.util.HashSet; import java.util.Map; import java.util.HashMap; class Solution { pub..
2023.09.06 -
[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