목록알고리즘 (131)
코딩공작소
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. BFS/DFS 로 탐색하여 영역 넓이 구하기 2. 세로 별 시추를 할때 최소한의 시간효율성을 위해 HashMap을 통한 영역 인덱싱 작업 3. 시추에 대한 시뮬레이션 이해와 시간효율성을 고려한 케이스 제외가 포인트 * BFS가 DFS보다 시간효율이 좋다. * 정적할당을 너무 큰 사이즈로 반복문에 선언하면 시간효율성이 떨어진다. * List, Set, Map 에 대한 자료구조에 대한..
https://school.programmers.co.kr/learn/courses/30/lessons/250137?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 마지막 배열의 공격시간 만큼 +1 배열로 찾을수도 있었지만 시간효율을 위해서 공격마다의 회복량과 체력을 고려해서 해결 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class Solution { public int solution(int[] bandage, int health, int[][] attacks..
https://school.programmers.co.kr/learn/courses/30/lessons/155651?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 누적합 누적합의 개념에 대해서 처음 알게되었다. 겹치는 공통 부분을 찾기로 할때 O(N)만에 빠르게 찾아낼 수 있는 방법 EX) [3,7], [4,8] -- > 시작점 = 1, 끝점 + 1 = -1 설정 후 누적합을 구하면 겹치는 부분을 알 수 있는 개념 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ..
https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr :: 간만에 풀었던 BFS 그래프 문제 :: 상화좌우 이동을 잘 구현하는 것이 핵심이었던 것 같다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364import java.util.*;import java.awt.Point; class..
https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr :: N^2 의 시간복잡도로 처음에 해결해서 시간초과가 났던 문제 --> 투 포인터라는 개념으로 접근하게 된다면 O(N)만에 해결할 수 있다는 걸 알았다. 12345678910111213141516171819202122232425class Solution { public int[] solution(int[] sequence, int k) { int N = sequence.length; int l..
https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr :: 시간 복잡도에 대해서 고려를 해보고 알고리즘을 설계하면 더 좋을 것 같다. 1234567891011121314151617181920212223242526272829303132import java.util.*; class Solution { public int solution(int[][] targets) { int answer = 1; Arrays.sort(targets, ((x,y) ->..
programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 배열의 뒤에서부터 값을 채워나가야겠다는 아이디어로 접근 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Solution { public int[] solution(int[] prices) { int[] answer = new int[prices.length]; answer[prices.length-1] ..
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 시뮬레이션 적인 문제 인형뽑기 + Stack에 대한 활용 ( 예외처리에 대한 부분 value가 0 일때 ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import java.util.Stack; class Solution { public int pullup(in..
programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 영역의 갯수 구하기 + 영역의 넓이 구하기 문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 import java.util.LinkedList; import java.util.Qu..
보호되어 있는 글입니다.