프로그래머스: 광고 삽입 [JAVA]
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 풀이 전체적인 풀이 과정은 다음과 같다. 모든 주어진 시간 문자열을 초(second)로 변환 IMOS 기법을 적용해 logs 속 모든 시청 시간들을 표현 영상의 시작부터 각 초까지의 누적 값 배열을 초기화 영상의 시작부터 광고가 모두 틀어질 수 있는 시간까지, 반복문을 통해 특정 ..
프로그래머스: 섬 연결하기 [JAVA]
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 풀이 전체적인 풀이 과정은 다음과 같다. 주어진 점들의 연결 정보를 통해 최소 신장 트리를 구성 해당 문제는 문제 자체에서 요구하는 바가 섬들 간의 최소 신장 트리를 구성하고 총 거리를 반환하는 것이기 때문에, 최소 신장 트리 생성 알고리즘을 적용하면 된다. 여기서 나는 크루스칼 알고리즘을 적용해 문제를 해결했는데, 거리 간 비용의 정렬을 쉽게 하고자 우선순위 큐를 사용하고, 해당 큐에 넣을 정보 클래스 간의 compareTo 함수를 오버라이딩했다...
프로그래머스: 아이템 줍기 [JAVA]
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/87694 코딩테스트 연습 - 아이템 줍기 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 풀이 전체적인 풀이 과정은 다음과 같다. 직사각형 배열을 순차대로 입력받아 이차원 배열 map에 표시 (각 길이를 2배로, 모서리와 내부 구분) 시작 위치 값을 큐에 넣으며 BFS 탐색 시작 결과로 얻은 길이 값을 2로 나눈 후 반환 전체적인 문제의 흐름은 BFS이기에..
프로그래머스: 경주로 건설 [JAVA]
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 풀이 전체적인 풀이 과정은 다음과 같다. 맵의 해당 위치 별로 방향마다 최소..