본문 바로가기

728x90

Study

(63)
[백준 자바JAVA] 11656번- 접미사 배열 https://www.acmicpc.net/problem/11656● 문제주어진 문자의 맨 앞 글자를 지워가며 사전순으로 배열하면되는 간단한 문제이다.● 코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String S = br.readLine(); String[] strArray = new String[S.length()]; for(int i = 0; i Str..
[백준 자바JAVA] 11728번- 배열 합치기 https://www.acmicpc.net/problem/11728● 문제간단하게 두 배열을 합쳐서 숫자가 적은 수부터 출력하면 되는 문제이다.처음에는 숫자가 적은 수부터 출력한다고 하여 우선순위 큐를 이용하여 코드를 짜보았지만 시간초과가 발생하였다다음방법으로는 Arrays.sort()함수를 이용하여서 제작하였다 이후 포인터방식을 이용하여서 구성이 가능하다고 하여 코드 두가지로 한번 만들어 보았다.● 코드1. Arrays.Sort() 함수 이용import java.lang.reflect.Array;import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{..
[백준 자바JAVA] 2167번- 2차원 배열의 합 https://www.acmicpc.net/problem/2167● 문제처음에 입력값이 너무 복잡해서 무슨 말인가 했지만 천천히 읽어보면서 이해해보면 구현하기 쉬운 문제이다.먼저 첫 줄에 2차원 배열의 크기 N, M이 주어진다. 즉 2, 3이면 arr[2][3] 이 되는것이다.이후 그 아래에 배열의 입력값들이 입력되고 그리고 합을 구할 부분의 개수 K의 값이 입력이 된다. 즉 3을 입력하면 3번 구하는 것이다.이후 i, j ,x, y의 값이 주어지는데 이거는  arr[i][j] 부터 arr[x][y]까지의 값의 합을 구하는 것이다.즉 1 1 2 3 이 주어지면 arr[1][1]부터 arr[2][3]의 값을 구하면 되는것이다. 이렇게 문제를 이해하고나면 코드를 짜기 쉬워진다.● 코드import java.u..
[백준 자바JAVA] 9093번 - 단어 뒤집기 https://www.acmicpc.net/problem/9093● 문제String을 입력받고 각 단어별로 뒤집어주면되는 간단한 문제이다.나는 String의 split과 StringBuffer의 reverse를 사용하여 구현해보았다.● 코드import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int i = 0; i StringBuffer..
[백준 자바JAVA] 2606번 - 바이러스 https://www.acmicpc.net/problem/2606● 문제BFS를 약간 변형하여 해결할 수 있는 문제이다. 먼저 입력 받은 연결된 노드 쌍을 입력받고 1의 값을 넣어줍니다 그리고 visited는 해당 노드를 방문했는지 안했는지를 나타냅니다 이후 dfs는 재귀형식으로 구현하여 문제를 해결하였습니다. 처음에는 그래프 문제가 많이 어렵지만 역시 문제를 많이 풀어봐야된다고 느꼈습니다.● 코드import java.util.*;import java.io.*;public class Main { static boolean[] visited; static int[][] graph; static int count = 0; static int node, line; public sta..
[백준 자바JAVA] 18258번 - 큐 2 https://www.acmicpc.net/problem/18258● 문제큐를 구현하면되는 아주 간단한 문제이다. 큐는 선입선출 자료구조로 말 그대로 먼저 들어간 요소가 먼저 나오는 방식이다. 자바에 있는 큐 라이브러리를 사용하면 맨 마지막에 있는 요소를 꺼내오는 함수가 없어 덱을 이용하여 구현하였다. ● 코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb =..
[백준 자바JAVA] 11727번 - 2xn 타일링 2 https://www.acmicpc.net/problem/11727● 문제이전 11726번 2xn 타일링의 두번째 문제이다 인덱스가 i 일때 i-2 + i-1의 값을 더하면 되는 문제여서 같은결로 생각해보았을때n123456789결과13511214385171341 값을 확인해보면 규칙이 있는걸 확인할 수 있다. 인덱스가 i일때 dp[i - 1] + 2 * dp[i - 2] 라는 공식을 확인할 수 있다.● 코드import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(Sy..
[백준 자바JAVA] 9461번 - 파도반 수열 https://www.acmicpc.net/problem/9461● 문제일반적인 dp문제이다. 문제에서 주어진 첫 10개의 숫자 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, ... 을 보면 dp[N] = dp[N - 3] + dp[N - 2]라는 공식이 나오게 된다.다만 파도반 수열은 100의 경우 900억이 넘기 때문에 long형태로 배열에 저장해야한다.● 코드import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); in..

728x90