본문 바로가기

알고리즘 문제풀이291

[leetcode 332] Reconstruct Itinerary 내가 이 문제를 푼 적이 있었다니 전혀 기억이.. 문제 난이도는 hard이다. 다시 풀어도 또 못 풀꺼 같다. https://leetcode.com/problems/reconstruct-itinerary/description/ Reconstruct Itinerary - LeetCode Can you solve this real interview question? Reconstruct Itinerary - You are given a list of airline tickets where tickets[i] = [fromi, toi] represent the departure and the arrival airports of one flight. Reconstruct the itinerary in order.. 2023. 4. 15.
[Java] 음수 나머지 구하기 자바와 c는 음수에서 나머지 연산을 하면 음수 값이 나온다. (번외: 파이썬의 경우 양수로 나온다.) -7 % 3 // -1 하지만 나머지 연산 정의에서 나머지는 0보다 커야 한다. 따라서 자바에서 나머지 연산을 구하기 위해선 나머지가 음수일 경우 나누는 수만큼 더해줘야 한다. // num은 나눠지는 수 k는 나누는 수 int rest = num % k; if(rest < 0) rest += k; num = division * quotient + remainder일 때 num = division * ( quotient - 1 ) + remainder + division 을 해준 것이다. 2023. 3. 26.
[Java] 자바로 코테 풀 때 입출력 받기 자바로 입출력 받는 코테는 첨 풀어봤는데 잊어버릴꺼 같아서 기록한다. 리트코드나 프로그래머스는 상관없지만 백준 혹은 알고스팟의 경우 입출력이 필요하다. 입력 입력의 경우 Scanner를 쓰면 느리다고 한다. BufferedReader를 사용한 후 StringTokenizer를 사용해서 파싱한다. 출력 출력의 경우도 System.out.println보다는 버퍼를 사용하자. 아래 예시는 첫 번째 줄에는 테스트 케이스의 개수 T가 주어지고 각 테스트 케이스의 첫 번째 줄에는 N과 K 두 번째 줄에는 N개의 숫자를 받는 예시이다. ex) 1 6 4 1 2 3 4 5 6 import java.io.*; public class Main { public void solution() throws Exception{ B.. 2023. 3. 25.
[백준 1966] 프린터 큐 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 약한 유형이어서 정리해본다. 문제의 핵심: 큐가 2개 필요하다. 1) 순서를 저장하기 위해 필요한 큐 2) 주어진 값들 중 최댓값을 찾기 위한 우선순위 큐 문제의 조건에서 선택되지 못한 숫자는 맨 마지막 열에 다시 합류하므로 이 순서를 저장할 큐가 필요하며 주어진 숫자 중 최댓값을 매번 찾아야 하므로 우선순위 큐가 필요하다. 접근법: 큐에는 인덱스와 값을 우선순위 큐에는 값만 저장한다. 1. IF 우.. 2021. 11. 11.