본문 바로가기

5

[백준] 1389번 케빈 베이컨의 6단계 법칙 JAVA (자바) 풀이 문제 1389번 (bfs) :  모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다.    케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임  :  BOJ의 유저가 5명이고, 1 - 3, 1 - 4, 2 - 3, 3 - 4, 4 - 5 친구인 경우   1은 2까지 3을 통해 2단계 만에, 3까지 1단계, 4까지 1단계, 5까지 4를 통해서 2단계 만에 알 수 있다   케빈 베이컨의 수는 2+1+1+2 = 6   [입력] :  첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)    둘째 줄부터 M개의 줄에는 친구 관계  [출력] :  첫째 줄에 케빈 베이컨의 수가 가장 작은 사람을 출력 (여러 명일.. 2024. 6. 16.
[프로그래머스] Lv.2 두 큐 합 같게 만들기 JAVA 풀이 문제 Lv.2 두 큐 합 같게 만들기 : 길이가 같은 두 개의 큐 : 하나의 큐를 골라 원소를 추출(pop)하고 추출된 원소를 다른 큐에 집어넣는(insert) 작업 : 각 큐의 원소 합이 같도록 만드는 최소의 횟수 출력 어떤 방법으로도 같을 수 없다면 -1 출력 : 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주 : 1 ≤ queue1의 길이 = queue2의 길이 ≤ 300,000 1 ≤ queue1의 원소, queue2의 원소 ≤ 109 주의: 언어에 따라 합 계산 과정 중 산술 오버플로우 발생 가능성이 있으므로 long type 고려가 필요 : 입력 예 queue1 = [3, 2, 7, 2] queue2 = [4, 6, 5, 1] 출력 예 result = 2 [코드.. 2023. 10. 10.
[프로그래머스] Lv.2 호텔 대실 JAVA 풀이 문제 Lv.2 호텔 대실 : 최소한의 객실만을 사용하여 예약 손님 받기 사용한 객실은 퇴실하고 10분간 청소를 한 다음 다른 손님들 사용가능 : 예약 시각 = book_time ( 문자열 형태 2차원 배열 ) 1 ≤ book_time의 길이 ≤ 1,000 book_time[i] = ["HH:MM", "HH:MM"] = [대실 시작 시각, 대실 종료 시각] 형태 : 예약 시각이 자정을 넘어가는 경우는 X 시작 시각은 항상 종료 시각보다 빠르다 : 입력 예 [["15:00", "17:00"], ["16,40", "18,20"], ["14:20", "15:20"], ["14:10", "19:20"], ["18:20", "21:20"]] : 출력 예 book_timeresult = 3 [알아두기] < Repla.. 2023. 10. 10.
[백준] 1158번 요세푸스 문제 JAVA (자바) 풀이 문제 1158번 : 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고 이제 순서대로 K번째 사람을 제거한다. : 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. : 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. : 예를 들어 (7, 3)-요세푸스 순열은 이다. [입력] : 첫째 줄에 N K 입력 [출력] : 예제와 같이 요세푸스 순열을 출력한다. [큐 연산] init() 큐 초기화 create() 큐 생성 isEmpty() 큐 비어있는지 검사 isFull() 큐 가득 찼는지 검사 enqueue(e) 큐 맨 뒤에 e 추가 dequeue() 큐 맨 앞의 값 삭제 peek() 큐 맨 앞의 값 출력 (큐가 비어있는 경우 null 반환) element() 큐 맨 앞의 값 출력.. 2023. 6. 27.
[백준] 10845번 큐 JAVA (자바) 풀이 문제 10828번 : 아래와 같은 [명령] 큐로 구현해보기 [명령] push X 정수 X를 큐 넣는 연산 pop 큐에서 가장 앞에 있는 정수를 빼고 그 수를 출력, 큐에 정수가 없는 경우에 -1을 출력 size 큐에 들어있는 정수의 개수 출력 empty 큐가 비어있으면 1, 아니면 0 출력 front 큐의 가장 에 있는 정수를 출력. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력 back 큐의 가장 뒤에 있는 정수를 출력. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력 [입력] : 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000) : 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다 [출력] : 명령 출력할 때마다 한 줄에 하나씩 출력 [큐] : 큐는 들어가는 문 하나 나가는.. 2023. 6. 22.