Algorithm/프로그래머스 문제풀이

문제출저 : https://programmers.co.kr/learn/courses/30/lessons/92343 코딩테스트 연습 - 양과 늑대 [0,0,1,1,1,0,1,0,1,0,1,1] [[0,1],[1,2],[1,4],[0,8],[8,7],[9,10],[9,11],[4,3],[6,5],[4,6],[8,9]] 5 [0,1,0,1,1,0,1,0,0,1,0] [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6],[3,7],[4,8],[6,9],[9,10]] 5 programmers.co.kr 소스코드 : package studyGroup.april.april25; /* 늑대가 양과 같거나 많으면 양을 잡아먹는다. 최대한 많은 수의 양을 모으자. info : 노드의 정보(양인지 늑대인지) e..
문제출저 : https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 소스코드 package studyGroup.april.april20; /* dp문제 */ import java.util.*; import java.lang.*; import java.io.*; public class LCS9251 { public static void main(String[] args) throws IOException { ..
https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 문제풀이 효율성 테스트를 위해 누적합을 이용해 구현 시작점에 +N 끝점에 -N을 배치 상하 좌우 방향을 합산해 해당 구간의 최종 결과값을 구할 수 있다. /* skill type r1 c1 r2 c2 degr..
https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제풀이 HashSet을 이용해 중복을 제거 HashMap에 HashSet을 저장해 다음에 올 HashSet을 구현 8보다 크면 -1을 return 이므로 8까지 구현 소스코드 /* 최솟값이 8보다 크면 -1을 return -> 1~8까지만 탐색 */ import java.util.*; class Solution { static HashMap map; static int n; public int solution(int N, int number) { int answer = -1; n = N; map = new HashMap(); for(int..
https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 문제풀이 이분탐색을 활용해 심사에 걸리는 시간을 최소로 한다. 소스코드 /* 이분탐색 가장 작은 경우, 가장 큰 경우 설정 / start, end mid 관한 알고리즘 구현 검증 작업 if에 작을 때 else에 클 때, 정답 적용 */ import java.util.*; class Solution { public long solution(int n, int[] t..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 문제 풀이 1. 단어와 몇 번째의 도달했는지를 나타내는 클래스를 새로 만든다. (dot) 2. Queue로 BFS를 실행해 target이 몇 번째로 오는지 구한다. 소스코드 import java.util.*; class Solution { public static void main(String[] args) { Stri..
너지살
'Algorithm/프로그래머스 문제풀이' 카테고리의 글 목록 (2 Page)