[백준] 9093번 : 단어 뒤집기
·
📚 알고리즘/백준
9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 문제 풀이 방법 1 : reverse() 메서드 직접 구현 입력되는 문자열을 뒤집어주는 메서드를 직접 구현하여 단어를 뒤집는다. 방법 2 : stack stack의 LIFO구조(마지막에 저장된 것을 제일 먼저 꺼냄)를 활용하여 단어를 뒤집는다. 소스코드 방법 1 : 직접 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import j..
[백준] 1931번 : 회의실 배정
·
📚 알고리즘/백준
1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 소스 코드 import java.io.*; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[][] time = n..
[백준] 1463번 : 1로 만들기
·
📚 알고리즘/백준
1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 예제 소스 코드 import java.io.*; public class Main { static Integer[] dp; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); dp = new Integer[N + 1]; dp[0] = dp[1] = 0; System.out.print(recur(N)); } stati..
[백준] 9012번 : 괄호
·
📚 알고리즘/백준
9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 예제 풀이 stack을 활용한 대표적인 문제이다. 여는괄호 '('가 들어오면 push를 해주고, 닫는괄호' )'가 들어오면 pop을 해주어 비워주면 된다. 그리고 여는 괄호가 없을 때 또는 여는 괄호가 스택에 남아 있는 경우에 "NO"를 출력해주면 된다. 소스 코드 import java.io.*; import java.util.Stack; public class Main { public static void main(Strin..
[백준] 1003번 : 피보나치 함수
·
📚 알고리즘/백준
1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 예제 소스 코드 import java.io.*; public class Main { static int zero; static int one; static int zero_plus_one; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int T = Integer.parseInt(br.read..
[백준] 10828번 : 스택
·
📚 알고리즘/백준
10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 예제 소스 코드 import java.io.*; import java.util.*; public class Main { public static int[] stack; public static int size = 0; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Syste..
[백준] 1260번 : DFS와 BFS
·
📚 알고리즘/백준
1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제 예제 풀이 그래프 탐색 알고리즘인 DFS(깊이 우선 탐색)과 BFS(넓이 우선 탐색)을 활용한 대표적인 문제이다. DFS (깊이 우선 탐색) DFS는 쉽게 말하면 한 우울만 파는 것이다. 이렇게 DFS는 재귀와 스택(stack)을 통해서 구성이 가능하다. 문제의 첫번째 예제를 확인해보면 다음과 같다. 4개의 정점 ( 1, 2, 3, 4 )이 있고 5개의 간선이 있으며 정점 1부터 확인을 시작한다는 의미이다. 그리고 예제..
[백준] 11866번 : 요세푸스 문제 0
·
📚 알고리즘/백준
11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 풀이 큐를 활용하면 쉽게 해결이 가능하다. N = 7 이고 K = 3 이라면, q = {1, 2, 3, 4, 5, 6, 7}이 된다. 여기서 K - 1번째 까지는 추출하고 추출한 숫자를 제일 뒤로 보내기를 반복하다가, K번째 숫자는 추출을 해서 출력을 하면된다. 코드를 통해 확인해보자. 소스 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util...
[백준] 1032번 : 명령 프롬프트
·
📚 알고리즘/백준
1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 문제 예제 풀이 String타입의 배열 arr을 생성하고, 배열에 각 입력된 문자열을 넣어준다. 반복문을 통해서 arr [0] 번째의 문자 하나하나를 arr [N] 번째의 문자 하나하나와 비교한다. 일치하지 않으면 boolean 변수에 false를 넣어주고, 조건문을 통해서 false일 경우에는?를 버퍼에 넣어준다. 마지막에 StringBuilder를 출력하면된다. 소스 코드 import java.io.BufferedReader; import java.io..
[백준] 2748번 : 피보나치 수 2
·
📚 알고리즘/백준
2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 소스 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReade..
Kyle99
'자바' 태그의 글 목록 (2 Page)