일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 보이는 학생
- 격자판
- 코테준비
- 10991
- 임시반장 정하기
- ArrayList
- 백준
- 10992
- 공통원소 구하기
- GitHub #Commit #BaekJoon
- Pointer
- 큰 수 출력하기
- 자바
- 등수구하기
- 가장 짧은 문자거리
- array
- 인프런
- Two Pointer
- 두 배열 합치기
- 아스키코드
- 배열
- 연속부분수열
- 누적 계산
- 투 포인터
- 알고리즘
- java
- 모든행과열대각선의합
- 뒤집은 소수
- 점수계산
- 최대 길이
- Today
- Total
목록[Java] 인프런 문제풀이 (78)
ezhoon
📖 문제 첫 번째 줄에 결과를 출력 출력순서는 오름차순으로 출력 1부터 N까지 번호가 적인 구슬이 있습니다. 이 중 중복을 허락하여 M 번을 뽑아 일렬로 나열하는 압벙르 모두 출력하시오 ⚠️ 주의사항 중복 허락 오름차순 출력 ✍️ 이해 ** * 1. 주어진 입력 설정 후 숫자들 저장할 배열 생성 * 2. 모든 숫자 한 번씩 돌면서 해야하므로 DFS * 3. DFS 호출 수가 M개 일때 배열 출력 * 4. 1~N까지 번호가 적혀 있으므로 1~N번 반복해서 배열에 i저장 후 DFS(L+1) 호출 */ ✏️ 풀이 import java.util.Scanner; public class Main { static int N, M; static int[] arr; void DFS(int L) { if (L == M) ..
📖 문제 N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. ⚠️ 주의사항 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 돼야 하므로 끝까지 비교 후 합이 같은 부분집합이 있는지 확인 서로소 집합 ✍️ 이해 /** * 1. N개 배열 입력 * 2. ..
📖 문제 다음 그래프에서 1번 정점에서 각 정점으로 가는 최소 이동 간선수를 출력하세요. 1번 정점에서 각 정점으로 가는 최소 간선수를 2번 정점부터 차례대로 출력하세요. 첫째 줄에는 정점의 수 N(1
📖 문제 첫째 줄에는 정점의 수 N(1
📖 이론 무방향 그래프 방향 그래프 가중치 그래프 값이 들어갈때 1이 들어가는게 아닌 적혀져 있는 값이 들어가게 됩니다. 예) 1행 2열에는 2라는 값이 들어갑니다.
📖 문제 이진트리에서 루트 노드 1에서 말단 노드까지의 길이 중 가장 짧은 길이를 구하는 프로그램을 작성하시오. ⚠️ 주의사항 DFS, BFS 두 방법으로 다 풀어보고 어느 방법이 더 좋은지 생각해보기 ✍️ 이해 DFS /** * 1. tree 동일하게 그려주기 * 2. 최소거리 이므로 root의 lt,rt = null 일 때 return L * 3. 그 외의 경우는 Main.min 사용해서 DFS((L+1), root.lt), DFS((L+1), root.rt) 비교 후 값 return */ BFS /** * 1. tree 그려주기 * 2. Queue 생성 * 3. root 값 queue 저장 * 4. queue 값이 빌때까지 반복 * 4-1. queue.size 만큼 반복 * 4-1-1. lt,rt ..
📖 문제 첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000까지이다. 송아지는 움직이지 않고 제자리에 있다. 현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요. ⚠️ 주의사항 BFS 이해 좌표가 1 ~ 10000 존재 송아지는 움직이지 않는다. ✍️ 이해 /** * 1. 출발 지점인 s, 도착 지점 e 입력2 * 2. 1~10000 이므로 ch는 int[100001], 1,-1,5칸 배열 및 체킁요 배열 입력 * 3. Queue를 사용해서 s를 queue 추가 * 4. queue가 빈 공간이 될 때까지 반복 * 4-..
📖 문제 레벨 탐색 순회 출력 1 2 3 4 5 6 7 ⚠️ 주의사항 BFS의 풀이 방법에 대해 이해 할 것 ✍️ 이해 /** * 1. 새로운 Node 작성 * 2. Queue 생성 tree의 root 값 offer * 3. Queue의 값이 없을 때까지 반복 * 4. queue 값을 cur 이라는 변수에 저장 * 5. cur의 lt 값 rt값 비교 후 null이 아니면 offer * 6. L++ */ ✏️ 풀이 import java.util.LinkedList; import java.util.Queue; class BFS_Node { int data; BFS_Node lt, rt; // 객체 주소 저장 public BFS_Node(int val) { data = val; lt = rt = null; }..