Algorithm 306

#★두 배열 합치기

import java.util.ArrayList; import java.util.Scanner; public class Main { public ArrayList solution(int n, int m, int[] a, int[] b){ ArrayList answer = new ArrayList(); int p1 = 0, p2 = 0; //포인터 while (p1 < n && p2 < m) { // 둘 중 배열이 끝나면 끝 if(a[p1] < b[p2]) answer.add(a[p1++]); else answer.add(b[p2++]); } while (p1 < n) answer.add(a[p1++]); //나머지 넣기 while (p2 < m) answer.add(b[p2++]); //나머지 넣기 re..

Algorithm/inflearn 2021.09.13

★★멘토링

import java.util.*; class Main { public static int solution(int n, int m, int[][] arr){ //짝을 만들 수 있는 경우 int answer = 0; // arr[m][n] // n이 학생 수고 m이 테스트 횟수 //arr[0][0] - 0번 테스트에서 1등한 학생의 학생번호 //arr[0][1] - 0번 테스트에서 2등한 학생의 학생번호 //arr[0][2] - 0번 테스트에서 3등한 학생의 학생번호 //arr[0][3] - 0번 테스트에서 4등한 학생의 학생번호 //i번 학생과 j번 학생의 k번의 테스트에서 등수찾아서 비교한다. for(int i = 1; i

Algorithm/inflearn 2021.09.10

★봉우리

import java.util.Scanner; public class Main { public int solution(int n, int[][] arr){ int answer = 0; //상하좌우 체크할 수 있는 좌표값 배열 int[] dx = {-1 , 0, 1, 0}; int[] dy = {0, 1, 0, -1}; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ boolean flag = true; for(int k = 0; k < 4; k++){ int nx = i + dx[k]; int ny = j + dy[k]; //상하좌우 인덱스값 체크 안하면 AurrayIndexOufOf~ 에러가 남 //격자판에 있는 수들은 자연수이므로 가장자리 부분은 제..

Algorithm/inflearn 2021.09.10