카테고리: Programmers

프로그래머스 가장 큰 정사각형 찾기

1. 프로그래머스 가장 큰 정사각형 찾기 1.1. 컴퓨팅적 사고 보드에서 0인 경우를 제외한다. 0인 경우에는 어떠한 정사각형도 만들 수가 없기때문이다. 따라서, 대각선(i-1,j-1), 위(i-1,j), 왼쪽(i,j-1)의 위치의 값중 최솟값 +1의 값을 주게해주는데 왜 이러한 값을 구해주는 것일까 잘 생각해보도록 합니다. 가장 최소가되는 값의 +1

프로그래머스 쿼드 압축후 개수 세기

1. 쿼드압축 후 개수 세기 1.1. 컴퓨팅적 사고 가장왼쪽위의 좌표를 기준으로 현재 탐색하고자 하는 정사각형의 한변의 길이를 통해서 탐색합니다. 가장 왼쪽지점을 기준으로 처리합니다. 분할 후도 같게 생각합니다. 3가지 경우의수: 특정 범위가 모두 '0’인 경우, 특정 범위가 모두 ‘1’ 인경우, 그게 아닌경우를 찾아냅니다. 이것들을 DFS로 처리하여

프로그래머스 외벽점검

1. 프로그래머스 외벽점검 1.1. 컴퓨팅적 사고 (1) 취약점의 출발지를 설정하고 취약지점을 평면으로 생각하여 해당 N범위를 넘어갈 것을 대비하여 취약지점+N까지 값들을 넣어줍니다. (2) 출발점과 다음 취약점의 거리가 사용 가능한 친구의 시간보다 크면 더이상 진행할 수 없는것이므로 다음값으로 갱신하여 진행 즉, 현재 친구의 시간으로 모든 외벽을 점검

프로그래머스 야근지수

1. 프로그래머스 야근 지수 Level03 1.1. 컴퓨팅적 사고 priorityQueue를 사용하여 가장 야근이 많은것부터 하나씩 처리합니다.1시간당 1의 일을 소모하니 가장높은것부터 -1을 처리해줍니다. TestCase03의 경우 처리한값중에 -1 0보다 작은 값이 존재할 경우 가장 최솟값이 0이되기 때문에 조건을 걸어 해당 로직을 빠져나오게 하였

프로그래머스 경주로건설

1. 프로그래머스 경주로건설 2. 문제 설명 건설회사의 설계사인 죠르디는 고객사로부터 자동차 경주로 건설에 필요한 견적을 의뢰받았습니다. 제공된 경주로 설계 도면에 따르면 경주로 부지는 N x N 크기의 정사각형 격자 형태이며 각 격자는 1 x 1 크기입니다. 설계 도면에는 각 격자의 칸은 0 또는 1 로 채워져 있으며, 0은 칸이 비어 있음을 1은

프로그래머스 셔틀버스

1. 프로그래머스 셔틀버스 1.1. 문제 셔틀버스 카카오에서는 무료 셔틀버스를 운행하기 때문에 판교역에서 편하게 사무실로 올 수 있다. 카카오의 직원은 서로를 '크루’라고 부르는데, 아침마다 많은 크루들이 이 셔틀을 이용하여 출근한다. 이 문제에서는 편의를 위해 셔틀은 다음과 같은 규칙으로 운행한다고 가정하자. 셔틀은 09:00부터 총 n회 t분 간격

프로그래머스 합승택시요금

1. 프로그래머스 합승택시요금 1.1. 컴퓨팅적 사고 플로이드워셜알고리즘을 이용한 최단경로 문제 (1) 모든 맵에 지점의 개수 * 택시비용의 최댓값인 (100 * 200000)으로 값을 초기화해줍니다. (2) 자기자신을 바라보는것들은 0으로 초기화합니다 (3) 배열값을 복사하여 배열들의 값을 재 세팅을 해줍니다. (4) 플로이드워셜알고리즘의 점화

프로그래머스 문자열압축(카카오 2020 신입 공채)

1. 프로그래머스 문자열압축 카카오신입 공채2020 1.1. 문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자

프로그래머스 방문길이

1. 프로그래머스 방문길이 1.1. 컴퓨팅적 사고 맵 시작점 음수의 값을 사용하기 싫었기 때문에 전체의 맵을 10x10으로 생각하여 시작점은 (5,5)에서 시작한다고 가정하였습니다. 간선 체크 간선보다는 정점을 체킹하는 형식으로 진행하였으나 중복점을 체킹하기가 어려워 간선풀이로 변경 Set자료구조를 사용하여 처리하였습니다. 시작 x, y 도

프로그래머스 배달

1. 프로그래머스 배달 1.1. 문제 설명 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마을에