본문 바로가기
완주하지 못한 선수 - 프로그래머스 (Java, Level 1) import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; class 완주하지못한선수 { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); Arrays.sort(completion); //두 배열을 정렬하면, 같은 index에서의 요소가 다르다면 해당 participant배열의 요소가 완주하지 못한 참가자 int i = 0; for(i=0; i 2022. 2. 7.
(Java) 백준 1021 : 회전하는 큐 문제 : https://www.acmicpc.net/problem/1021 풀이 앞, 뒤 양쪽으로 삽입/삭제가 가능한 자료구조인 Deque를 사용하면 좋겠다. Deque인터페이스를 구현하는 ArrayDeque, LinkedList 클래스 중 선택한다. 1. 타겟이 맨 앞으로 올 때까지 이동시킨다. 1.1 왼쪽으로 이동이 빠르다면 첫 번째 요소를 마지막으로 옮긴다. 1.2 오른쪽으로 이동이 빠르다면 마지막 요소를 처음으로 옮긴다. 2. 타겟을 삭제한다. 3. 다음 타겟을 1번부터 반복한다. 공부할 내용 StringTokenizer 기본 사용법 Deque 기본 개념 ArrayDeque vs LinkedList import java.io.BufferedReader; import java.io.IOExcepti.. 2021. 12. 6.
(Java) 백준 5639 : 이진 검색 트리 풀이1 : Tree, Node 클래스 생성하여 postorder메소드 재귀적으로 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Tree { Node root; Tree() { this.root = null; } public void insert(int key) { root = insertNode(root, key); } private Node insertNode(Node node, int key) { Node newNode = new Node(key, null, null); if(node==null) { return newNode; } else { if(node.keyk.. 2021. 11. 30.
(Java) 백준 1920 : 수 찾기 문제 : https://www.acmicpc.net/problem/1920 N개의 정수를 요소로 하는 배열을 M번 탐색하는 문제 순차탐색 : 시간복잡도 O(N * M) = 100억. 시간제한 1초당 1억 연산 횟수 정도로 보기 때문에 시간 제한에 걸린다. 이진탐색: 시간복잡도 O(M * logN) import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] intArr1 = new int[n]; for(int i=0; i 2021. 11. 12.