일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- java
- Pointer
- 가장 짧은 문자거리
- ArrayList
- 백준
- 인프런
- 모든행과열대각선의합
- 두 배열 합치기
- 임시반장 정하기
- 자바
- 최대 길이
- 아스키코드
- 연속부분수열
- 공통원소 구하기
- 등수구하기
- 10992
- array
- 배열
- 큰 수 출력하기
- 코테준비
- Two Pointer
- 격자판
- 뒤집은 소수
- GitHub #Commit #BaekJoon
- Today
- Total
목록[Java] 인프런 문제풀이 (78)
ezhoon
📖 문제 첫 번째 줄에 자연수 N(5 answer = "D" break; 같은 것을 발견했으므로 더 볼 필요 없음 * 5. return answer */ public class Main { public String solution(int N, int[] arr) { String answer = "U"; Arrays.sort(arr); for (int i = 0; i < N - 1; i++) { if (arr[i] == arr[i+1]) { answer = "D"; break; } } return answer; } public static void main(String[] args) throws IOException { Main T = new Main(); BufferedReader br = new Buf..
📖 문제 첫 번째 줄에 캐시의 크기인 S(3= 1; j--) { answer[j] = answer[j - 1]; } } answer[0] = i; // System.out.println("answer = " + Arrays.toString(answer)); } return answer; } public static void main(String[] args) throws IOException { Main T = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int S = Integer.pa..
📖 문제 첫 번째 줄에 자연수 N(1 arr[j+1] = arr[j] 한 칸씩 이동 * 3-2. else break * 4. arr[j+1] = temp * 5. return arr; */ ✏️ 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public int[] solution(int N, int[] arr){ for (int i = 1; i < N; i++) { int temp = arr[i], j; // j가 두 번째 for문 밖에 있기 떄문에 선언을 해줘야 한다. for (j =..
📖 문제 첫 번째 줄에 자연수 N(1 j + 1 -> swap * 2-2. arr[j] arr[j+1] * 3. return arr */ ✏️ 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public int[] solution(int N, int[] arr) { for (int i = 1; i arr[j+1]) swap(arr, j, j + 1); } } return arr; } p..
📖 문제 첫 번째 줄에 자연수 N(1 index = j; * 5. swap 호출 (arr, index, j) * 6. arr[i] 의 값을 바꿔야 하므로 arr[i] 값을 temp에 임시 저장 * 7. arr[i] = arr[index], arr[index] = arr[temp] 서로 교환 * 8. return arr */ ✏️ 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public int[] solution(int N, int[] arr){ for (int i = 0; i < N ..
📖 문제 첫 줄에 한 줄에 필수과목의 순서가 주어집니다. 모든 과목은 영문 대문자입니다. 두 번 째 줄부터 현수가 짠 수업설계가 주어집니다.(수업설계의 길이는 30이하이다) 첫 줄에 수업설계가 잘된 것이면 “YES", 잘못된 것이면 ”NO“를 출력합니다. ⚠️ 주의사항 CBA가 필수고 CBDAGE는 통과인 것처럼 CB를 듣고 다른 것을 듣고 A를 듣는 것은 괜찮고, 순서만 맞으면 된다. 아예 안듣는 경우도 생각해서 코딩을 해야 한다. ✍️ 이해 /** * 1. 필수과목 입력 및 본인 과목 입력 * 2. 필수과목 Queue queue 넣기 * 3. 본인 과목이랑 비교하기 위해서 queue.contains()사용 * 3-1. queue.contains(o) * 3-1-1. o != poll() true ->..
📖 문제 첫 줄에 N과 K입력 K번째는 N에서 제외 반복 후 마지막에 1명 남은 왕자 번호 출력 ⚠️ 주의사항 for문의 시작을 0부터가 아닌 1부터 시작으로 해야 합니다. 마지막에 1명 남았을 때는 answer에 값 전달해서 return 해야 합니다. ✍️ 이해 /** * 1. 첫 줄에 N(왕자의 수)과 K(제외된 왕자) 입력 * 2. Queue에 n번째까지 저장 * 3. Queue빈 값일 때까지 반복 * 3-1. Queue에 poll값 집어 넣기 * 3-2. Queue poll한 후 size == 1 -> answer에 poll 값 대입 * 4. return answer; */ ✏️ 풀이 import java.io.BufferedReader; import java.io.IOException; impo..
📖 문제 한 줄에 쇠막대기와 레이저의 배치를 나타내는 괄호 표현이 공백없이 입력 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고,레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다. 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. ⚠️ 주의사항 stack으로 풀돼 닫힌 괄호과 전체 길이의 괄호인지 아니면 레이저 포인터 괄호인지 체크 해야 합니다. ✍️ 이해 /** * 1. 괄호로 이루..
📖 문제 첫 줄에 후위식연산식이 주어진다. (1~9의 숫자 +,-,*,/ 로만 이루어진다.) 더보기 왼쪽에서 부터 순차적으로 읽기 시작. 숫자는 일단 지나치고 연산자가 나오게 되면 연산자 앞 쪽 두 개의 숫자로 연산 진행 예제) 352+*9- 1. 숫자 순차적으로 읽어나감 2. 연산자 +를 만나서 5 + 2 = 7 3. 연산자 *를 만나서 3 * 7 = 21 4. 숫자 순차적으로 읽어나감 5. 연산자 -를 만나서 21 - 9 = 12 6. 연산 결과 = 12 ⚠️ 주의사항 Stack에 쌓일 때 pop에서 나온 값을 저장 후 계산 해야한다 A = stack.pop(); B = stack.pop(); -> B - A 이므로 나중에 나온 것을 앞에 둬야한다. ✍️ 이해 /** * 1. 첫 줄에 연산식 입력 *..