코딩테스트 44

[프로그래머스] 나누어 떨어지는 숫자 배열

일반적으로 배열은 크기가 고정되지만, ArrayList를 사용하면 array.add(a)를 사용하여 ArrayList에 추가할 수 있다. import java.util.ArrayList; import java.util.Collections; class Solution { public ArrayList solution(int[] arr, int divisor) { //ArrayList는 배열 크기가 고정되지 않음. ArrayList answer = new ArrayList(); for (int i = 0; i < arr.length; i++){ if (arr[i] % divisor == 0) { answer.add(arr[i]); } } //내림차순 정렬 : Collections.sort(array, Co..

Language/JAVA 2022.01.15

[프로그래머스] 2016년

요일을 구하는 문제로, 입력하는 날 이전의 모든 일자의 합을 구하고, 이것을 7로 나눈 나머지를 활용하여 계산하였다. import java.util.stream.IntStream; class Solution { public String solution(int a, int b) { String answer = ""; //1월 1일은 금요일이고, 배열은 [0]부터 카운트되기 때문에 목요일부터 시작 String[] week = new String[] {"THU","FRI","SAT","SUN","MON","TUE","WED"}; //마지막날이 31인 경우는 else로 계산하여, 그 외의 경우인 29, 30인 날을 각각 배열로 만듦 int[] case1 = new int[] {2}; int[] case2 = n..

Language/JAVA 2022.01.15

[프로그래머스] 행렬의 덧셈

class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { //배열은 길이 지정 만드시 해줘야 한다! //배열에는 length 필드가, String은 length() 메서드가 있다. int[][] answer = new int[arr1.length][arr1[0].length]; //answer.length대신 arr1.length써도 결과는 동일 //for문 중복사용 시 length를 동일하게 사용하면 아에 런타임오류가 발생?? for (int i = 0; i < answer.length; i++){ for (int j = 0; j < answer[0].length; j++){ answer[i][j] = arr1[i][j] + arr2..

Language/JAVA 2022.01.15