본문 바로가기

전체 글143

[프로그래머스 lv2] 시소 짝꿍 문제 - 어느 공원 놀이터에는 시소가 하나 설치되어 있다. - 이 시소는 중심으로부터 2m, 3m, 4m 거리의 지점에 좌석이 하나씩 있다. - 이 시소를 두 명이 마주 보고 탄다고 할 때, 시소가 평형인 상태에서 각각에 의해 시소에 걸리는 토크의 크기가 서로 상쇄되어 완전한 균형을 이룰 수 있다면 그 두 사람을 시소 짝꿍이라고 한다. - 즉, 탑승한 사람의 무게와 시소 축과 좌석 간의 거리의 곱이 양쪽 다 같다면 시소 짝꿍이라고 할 수 있다. - 사람들의 몸무게 목록 weights가 주어질 때, 시소 짝꿍이 몇 쌍 존재하는지 구하여 return 하도록 solution 함수를 완성하라. 제한 사항 - 2 2023. 5. 1.
[프로그래머스 lv2] 호텔 대실 문제 - 최소한의 객실만을 사용하여 예약 손님들을 받는 문제 - 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소한 다음 손님들이 사용할 수 있다. - 2차원 배열 book_time(예약 시각을 문자열 형태로 담은)이 매개변수로 주어질 때, 필요한 최소 객실의 수를 return하는 solution 함수 제한사항 - 1 객실 청소 시간 10분을 이때 추가해주어야 => 10분 추가한 게 60분이 넘을 경우 (?) 처리해줘야 3. 예약 시간별로 객실을 할당한다. => ArrayList에 객실을 할당한다. => 이미 할당된 객실 중에 현재 사용 가능한 객실이 있다면, 할당 => 이미 할당된 객실 중에 현재 사용 가능한 객실이 없다면, 새로 할당 => 최종적으로 ArrayList의 크기가 할당된 객실의 수.. 2023. 5. 1.
[프로그래머스 lv2] 뒤에 있는 큰 수 찾기 문제 - 정수로 이루어진 배열 numbers가 있다. - 배열의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰 수라고 한다. - 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return하도록 solution 함수를 완성해라. - 단, 뒤 큰 수가 존재하지 않는 원소는 -1을 담는다. 제한사항 - 4 2023. 5. 1.
그래프 그래프 구현 - java 그래프 표현 방법: 인접행렬 또는 인접리스트 1. 그래프 구현 - 인접행렬 2차원 배열 matrix[][] matrix[v][w] = 1 : 정점 v에서 정점 w로 가는 가는 간선이 있음 matrix[v][w] = 0 : 정점 v에서 정점 w로 가는 간선이 없음 인접행렬 구현의 장점 - 연결된 정점 찾기 빠름 - 구현 쉬움 단점 - O(n^2)의 공간복잡도 코드 public static void main(String[] args) { int[][] edges = new int[][] { {1, 2}, // edges[0][0]: 1 edges[0][1]: 2 {1, 3}, // edges[1][0]: 1 edges[1][1]: 3 {1, 4}, {2, 3}, {2, 5}, {4,.. 2023. 4. 10.