본문 바로가기

Algorithm46

[프로그래머스] 광고삽입 (C++) (2021 KAKAO BLIND RECRUITMENT) https://programmers.co.kr/learn/courses/30/lessons/72414?language=cpp 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 이 문제에서는 효율성을 고려해야하는 문제로 구간합과 투포인터 알고리즘을 사용하였다. 해당 알고리즘을 사용하기 전에 HH:MM:SS 초로 바꿔주는 두가지 함수를 구현하였다. 이후에는 구간합만 구하면 되는데, 이 부분이 핵심인 문제였다. 전체 구간 길이가 N이고 광고 길이.. 2021. 10. 2.
[프로그래머스] 코딩테스트 고득점 Kit - 힙(HEAP) (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr PriorityQueue pq = new PriorityQueue() : 우선순위큐 선언. 최소힙 PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()) : 우선순위큐 선언. 최대힙 import java.util.*; class Solution { public int solution(int.. 2021. 10. 2.
[프로그래머스] 코딩테스트 고득점 Kit - 스택/큐 (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; List list = new LinkedList(); Queue q = new LinkedList(); for(int i=0; i 2021. 10. 2.
[프로그래머스] 코딩테스트 고득점 Kit - BFS/DFS (JAVA) https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr class Solution { int answer=0; int total=0; public void dfs(int[] n, int sum,int cnt){ if(cnt==n.length){ if(sum==total) answer++; return; } dfs(n,sum+n[cnt],cnt+1); dfs(n,s.. 2021. 10. 1.
[프로그래머스] 코딩테스트 고득점 Kit - 완전탐색 (JAVA) https://programmers.co.kr/learn/courses/30/parts/12230 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr List list = new ArrayList() : List선언 list.size() : 리스트의 길이 Collections.sort(list) : 리스트 정렬 list.get(인덱스) : 해당 인덱스에 있는 리스트의 값 반환 import java.util.*; class Solution { public int[] solution(int[] answers) { List l = new ArrayList(); in.. 2021. 10. 1.
[프로그래머스] 코딩테스트 고득점 Kit - 정렬 (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr int[][] a -> a.length : a의 길이 Arrays.copyOfRange(array,start,end) : array 배열의 start부터 end인덱스 전까지 복사 Arrays.sort(array) : array 오름차순 정렬 Arrays.sort(array,start,end) : 배열의 start부터 end전까지만 오름차순 정렬 Arrays.sort(array,Collections.reverseOrder()) :.. 2021. 10. 1.