학습자료 : 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 : 방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지..
학습자료 : 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
학습자료 : 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 문제 : 이진트리에서 루트 노드 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 문제 1 : 아래 그림과 같은 이진트리를 레벨탐색(넓이우선탐색) 연습하세요. 풀이 : 소스코드 : im..
문제 출처 : https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 : 풀이 : 소스코드 : import java.util.*; import java.io.*; class Main { public StringBuilder solution(int n, int[] nArr, int m, int[] mArr) { StringBuilder sb = new StringBuilder(); // nArr가 오름차순 정렬된 ..
문제 출처 : https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 : 풀이 : 이분 탐색을 이용하면 해결될 문제지만 왠지 투포인터 알고리즘을 사용해 풀어보고 싶었다. 투포인터 알고리즘을 사용하기 위해선 mArr와 nArr 둘 다 정렬되어 있어야 하는데 문제는 mArr를 정렬시켜버리면 기존 인덱스(위치)도 섞여서 출력 시 1이 출력되는 위치도 변한다는 것이다. 그럼 HashMap을 사용해 기존 인..
문제 출처 : https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 문제 : 풀이 : 누적 합을 저장한 배열을 생성하고 이용한다. s[i] % m == 0 인 경우, 인덱스 1부터 i까지의 누적 합이 m으로 나누어 떨어진다는 것이다. 인덱스 i부터 j까지의 구간 합은 s[j] - s[i-1] 이다. 구간 합이 m으로 떨어지는 경우를 구해야 한다. ( s[j] - s[i-1] ) % m = 0 해당 식을..
제목 // 자바 백준 0번 문제 : 문제명 문제 출처 : https://www.acmicpc.net/problem/1990 1990번: 소수인팰린드롬 151은 소수이면서 동시에 팰린드롬이기 때문에 소수인 팰린드롬이다. 팰린드롬이란 앞으로 읽어나 뒤로 읽으나 같은 수를 말한다. 예를 들어 1234는 앞으로 읽으면 1234지만, 뒤로 읽으면 4321이 되 www.acmicpc.net 문제 : 풀이 : 에라토스테네스 체 이용해 소수 판별한 다음 팰린드롬인지 아닌지 판별해 출력한다. 소스코드 : import java.util.*; class Main { public boolean plndr(int n) { // 팰린드롬 판별 함수 String str = Integer.toString(n); String reve..