본문 바로가기

Algorithm/Problem_프로그래머스55

프로그래머스(디스크 컨트롤러, 섬 연결하기) - Java [디스크 컨트롤러] https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를�� programmers.co.kr * 조건 작업 요청 시간과 작업 소요 시간이 입력된다 하드디스크는 한 번에 하나의 작업만 수행 가능하다 작업의 요청부터 종료까지 걸린 시간(대기 시간): 실제 작업 종료 시간 - 작업 요청 시간 대기시간들의 평균이 제일 적은 값을 출력한다 * 알고리즘 힙 구조를 활용한 우선순위 큐 또는 일반 정렬 * 로직(Logic) 작업 소요 시간.. 2019. 11. 6.
프로그래머스(단어 변환, 예산) - Java [단어 변환] https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr * 조건 시작 단어(begin), 만들고자 하는 단어(target), 단어 리스트(words)가 주어진다 begin에서 시작해서 words의 단어들을 가지고 target을 만들 수 있는 단계를 구한다 한 번에 한 개의 알파벳만 바꿀 수 있다 words에 있는 단어로만 변환 가능하다 변환할 수 없다면 0을 .. 2019. 11. 4.
프로그래머스(3xn 타일링, 가장 먼 노드) - Java [3xn 타일링] https://programmers.co.kr/learn/courses/30/lessons/12902 코딩테스트 연습 - 3 x n 타일링 programmers.co.kr * 조건 세로의 길이가 3이고 가로의 길이가 n인 바닥이 존재한다 타일을 채울 때, 가로 또는 세로 형태로 배치할 수 있다 가로 또는 세로의 최대 길이는 2이다 경우의 수가 많은 것을 대비해 경우의 수를 1,000,000,007으로 나눈 나머지를 return 한다 * 알고리즘 - DP * 로직(Logic) 우선 홀수인 경우에는 답을 구할 수 없다 짝수인 경우를 고려했을 때, if) n=2 : 3개 if) n=4 : (3 * 3) + 2 = 11 이런식으로 나열해보면 규칙을 찾을 수 있게된다 이전 n이 만들어낼 수 있는.. 2019. 11. 1.