Java 코딩테스트 공부

Java 코딩테스트 공부/Java 백준 문제풀이

자바 백준 17609번 문제 : 회문

문제 출처 : https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 문제 : 풀이 : 회문인지 아닌지는 StringBuilder로 reverse()해서 확인하는 함수를 작성해둠 먼저 회문인지 아닌지 검사, 회문일 경우 바로 0 출력한다. 회문이 아닐 경우 유사회문인지, 둘 모두 해당되지 않는지 검사해야 하므로 투포인터를 왼쪽(lt) 오른쪽(rt)에 잡고 한칸씩 중앙으로 이동시키다 두 문자가 다른 경우 lt를 삭제한 문자열, rt를 삭제한 문자열을 각각 회문인지 아닌지 검사하는 함..

Java 코딩테스트 공부/Java 백준 문제풀이

자바 백준 1991번 문제 : 트리 순회

문제 출처 : https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 문제 : 소스코드 : import java.util.*; import java.io.*; class Node { char value; Node lt, rt; Node(char value, Node lt, Node rt) { this.value = value; this.lt = lt; this.rt = rt; } } public class Main { Node root; p..

Java 코딩테스트 공부/Java 알고리즘 공부

Recursive, Tree, Graph(DFS, BFS 기초) 2 - 이진트리, 부분집합 DFS

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84# 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com DFS : 깊이우선탐색 문제 1 : 아래 그림과 같은 이진트리를 전위순회와 후위순회를 연습해보라 전위순회 출력 : ..

Java 코딩테스트 공부/Java 백준 문제풀이

자바 백준 17298번 문제 : 오큰수

문제 출처 : https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 : 풀이 : 세 가지 풀이 방식을 생각해서 풀었고, 첫 번째와 두 번째는 보기 좋게 틀렸다. 왜 틀렸는지 코드와 함께 정리해보고, 이후 정답 코드도 정리해보자 오답 코드 (시간 초과) : import java.util.*; import java.io.*; public class Main { public StringBuilder solution(int n, int[] arr) { Strin..

Java 코딩테스트 공부/Java 백준 문제풀이

자바 백준 9935번 문제 : 문자열 폭발

문제 출처 : https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문제 : 풀이 : 스택과 StringBuilder를 이용해 문제를 해결하였다. 소스코드 : import java.util.*; import java.io.*; public class Main { public StringBuilder solution(String str, String boom) { StringBuilder sb = new StringBuilder(); S..

Java 코딩테스트 공부/Java 알고리즘 공부

Recursive, Tree, Graph(DFS, BFS 기초) 1 - 재귀

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84# 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com 재귀함수 -> 자기 자신을 호출하는 함수 스택 프레임에 대한 개념 : 예전에 C++로 스택프레임에 대해 공부하며 그..

Java 코딩테스트 공부/Java 백준 문제풀이

자바 백준 2470번 문제 : 두 용액

문제 출처 : https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 : 풀이 : 항상 그렇듯이 억지로 풀 수는 있다. for문으로 돌리면 0에 가장 가까운 값 찾을 수 있다. 시간초과가 날뿐.. 투포인터를 잡으면 된다. 잡아도 되나? 어떻게 O(N)으로 0에 가장 가까운 두 값만을 서치할 수 있지? 일단 Arrays.sort(arr) 해주고 투포인터의 국룰(?) lt와 rt를 양 끝으로 잡아본다. 쓸모없는 움직..

Java 코딩테스트 공부/Java 백준 문제풀이

자바 백준 5430번 문제 : AC

문제 출처 : https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제 : 풀이 : 직접 뒤집는 것 보다 Deque를 이용해 Reverse 유무를 체크하며 앞과 뒤에서 삭제하는 것이 좋다. 소스코드 : import java.util.*; import java.io.*; public class Main { public StringBuilder solution(String funcArr, int arrSize, Deque dq) { StringBuilder sb = new StringBuilder(); bo..

daramG
'Java 코딩테스트 공부' 카테고리의 글 목록 (2 Page)