본문 바로가기

Preparing Coding Test114

[Java/백준/DFS와 BFS] 2606 - 바이러스 문제 www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어�� www.acmicpc.net 코드 그냥 BFS 이용했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; class Main{ static ArrayList[] adjacent.. 2020. 9. 12.
[Java/백준/DFS와 BFS] 1260 - DFS와 BFS 문제 www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 틀린 코드 예제 2번 5 5 3 5 4 5 2 1 2 3 4 3 1 정답>> 3 1 2 5 4 3 1 4 2 5 이어야 하는데... 내 코드는 3 1 2 5 4 3 4 1 5 2 이렇게 나온다. 아마 addEdge할 때 순서대로 LinkedList 안에 넣기 때문에 그런거 같다.. addEdge를 하는 과정을 좀 더 생각해봐야겠다. import java.util.Lin.. 2020. 9. 10.
[자료구조/Java] Queue 구현하기 in Java www.youtube.com/watch?v=W3jNbNGyjMs 선입선출 방식(First-In First-Out, FIFO) 1) add() 2) remove() 3) peek() 4) isEmpty() import java.util.NoSuchElementException; class Queue{ class Node{ private T data; private Node next; public Node(T data){ this.data = data; } } private Node first; private Node last; public void add(T item){ Node t = new Node(item); if(last != null){ last.next = t; } last = t; //큐가 비.. 2020. 9. 9.
[Java/백준/스택] 1874 - 스택 수열 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 코드 처음 문제를 이해하는 것부터 난관이었다. 알고보니 1~N 순서대로 스택에 push하는 것이었다. 숫자를 순서대로 Stack에 push하면서 입력받은 수열 seq[idx]와 같을 때 pop을 시켜주었다. 아닌 경우는 push하도록 했다. import java.io.BufferedReader; import j.. 2020. 9. 6.
[Java/백준/스택] 4949 - 균형잡힌 세상 문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마�� www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Stack; public class Main{ public static void main(String[] args) thro.. 2020. 9. 6.
[Java/백준/스택] 10773 - 제로 문제 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 코드 내장 Stack 클래스를 사용했다. 그냥 숫자면 Stack에 push 해주고 0이면 pop을 해줬다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main{ publi.. 2020. 9. 5.
[Java/자료구조] Stack 구현하기 https://www.youtube.com/watch?v=whVUYv0Leg0&t=9s LIFO (Last In First Out) 1) pop() : 마지막에 넣은 데이터를 가져오면서 지우는 함수 2) push() : 한 개 더 쌓아올리는 함수 3) peek() : 맨 위에 있는 걸 확인하는 함수 4) isEmpty() : Stack이 비어있는지 확인하기 코드 import java.util.EmptyStackException; class Stack{ class Node{ private T data; private Node next; public Node(T data) { this.data = data; } } private Node top; public T pop() { if(top==null) thr.. 2020. 9. 3.
[Java/백준/스택] 10828 - 스택 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 코드 내장 Stack 사용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main{ public static void main(String[] args) throws IOException.. 2020. 9. 3.
[Java/프로그래머스/브루트 포스] 소수 찾기 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/42839# 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 � programmers.co.kr 코드 checkPrime 함수 2부터 √n 까지 나누면서 체크한다. (√n 을 기준으로 나눠지는 수가 대칭되기 때문이다. 이해가 안된다면 아래 링크 참고) https://programmers.co.kr/questions/11572 소수가 맞아도 ans라는 전역 ArrayList에 같은 값이 있는지 확인한다. 중복을 피하기 위함이다. pe.. 2020. 8. 29.