코딩테스트/백준

코딩테스트/백준

[백준] 2675 : 문자열 반복 - JAVA

문제 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 코드 import java.io.*; import java.util.*; class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int n = In..

코딩테스트/백준

[백준] 10809 : 알파벳 찾기 - JAVA

문제 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 코드 import java.io.*; import java.util.*; class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); ..

코딩테스트/백준

[백준] 23889 : 돌 굴러가유 - JAVA

문제 https://www.acmicpc.net/problem/23889 23889번: 돌 굴러가유 $M$번째 줄에 걸쳐 가장 많은 모래성을 지키기 위해 벽을 설치해야 할 마을의 위치를 오름차순으로 출력한다. 가장 많은 모래성을 지킬 수 있는 경우가 두 가지 이상 존재할 경우, 사전순으로 가 www.acmicpc.net 풀이 그리디 문제 돌은 오른쪽으로 굴러간다. 그렇다면 돌이 굴러가기 시작하는 위치부터 막는다면 더 많은 피해를 막을 수 있다. 따라서 돌이 굴러가기 시작하는 위치부터 그다음 돌이 굴러가는 위치 까지의 합이 가장 큰것부터 내림차순으로 정렬해주면 된다. 코드 import java.io.*; import java.util.*; class Main { public static void main(..

코딩테스트/백준

[백준] 1986 : 체스 - JAVA

문제 https://www.acmicpc.net/problem/1986 1986번: 체스 첫째 줄에는 체스 판의 크기 n과 m이 주어진다. (1 ≤ n, m ≤ 1000) 그리고 둘째 줄에는 Queen의 개수와 그 개수만큼의 Queen의 위치가 입력된다. 그리고 마찬가지로 셋째 줄에는 Knight의 개수와 위치, www.acmicpc.net 풀이 단순한 구현문제 처음에는 그냥 단순하게 구현해서 풀었다. 너무 코드가 더러워서 다시 제대로 풀었다. 코드 정리해서 다시 푼 코드 import java.io.*; import java.util.*; class Main { public static class Point { int r; int c; public Point(int r, int c) { this.r = ..

코딩테스트/백준

[백준] 2404 : 단위 분수로 분할 - JAVA

문제 https://www.acmicpc.net/problem/2404 2404번: 단위 분수로 분할 첫째 줄에 양의 정수 p, q, a, n이 입력된다. (1 ≤ p, q ≤ 800, 1 ≤ a ≤ 12000, 1 ≤ n ≤ 7) www.acmicpc.net 풀이 실버1문제인데 체감 난이도는 골드 1, 플레이다. 나한테는 짱어려웠다. 뭔가 백트레킹 문제라는 것은 문제를 보고 감이 왔는데 어떻게 백트레킹을 적용시킬지 매우 어려웠다. 즉, 백트레킹 함수의 매개변수를 어떻게 설정하느냐가 가장 중요한 문제였다. 우리는 p/q가 합이 되는 단위 분수들을 구해야한다. 즉, 우리는 백트레킹을 이용하여 단위 분수들의 합을 구해야 한다. 그러므로 매개변수를 다음과 같이 설정했다. back(단위분수의 합의 분자, 단위분..

코딩테스트/백준

[백준] 25421 : 조건에 맞는 정수의 개수 - JAVA

문제 https://www.acmicpc.net/problem/25421 25421번: 조건에 맞는 정수의 개수 2개의 자릿수를 갖고 첫 번째 자리의 숫자와 두 번째 자리의 숫자의 차이가 2보다 작거나 같은 양의 정수 11, 12, 13, 21, 22, 23, 24, 31, 32, ... , 97, 98, 99가 A에 해당된다. 따라서 정답은 39이다. www.acmicpc.net 풀이 내가 안좋아하는 DP 문제였다. 그래서 그런지 풀이를 생각하는데 오래 걸렸다. (어려운 DP...) 문제는 매우 단순하다. n 자릿수인 숫자에 대해 각자리수가 0이 아니고 이웃한 숫자끼리 2 이하의 차이만 나는 숫자의 개수를 구하는 문제였다. dp 배열을 설정하는데 어려움을 겪었는데 맨 앞자리수를 기준으로 하려고 해서 어..

코딩테스트/백준

[백준] 정수 삼각형 - JAVA

문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 코드 import java.io.*; import java.util.*; class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int n = Integer.parseInt(br.readLine()); int arr [][] = ..

코딩테스트/백준

[백준] 봄버맨 - JAVA

문제 https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 코드 import java.io.*; import java.util.*; class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.r..

코딩테스트/백준

[백준] 1로 만들기 1463 - JAVA

문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 코드 import java.io.*; import java.util.*; class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int dp [] = new int [n+1]; dp[1] = 0; for(int i=2;i

코딩테스트/백준

[백준] 스택 수열 1874 - JAVA

문제 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 코드 import java.io.*; import java.util.*; class Main { public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(Sy..

ankisile
'코딩테스트/백준' 카테고리의 글 목록 (2 Page)