본문 바로가기

전체 글216

[Java] 프로그래머스 [Level-4] 행렬과 연산 import java.util.ArrayDeque; import java.util.Deque; public class Solution { // 행렬과 연산 // Deque 자료구조에서 // add(A) + peek(B) or remove(B)가 있을 때 // (A)와 (B)는 First 또는 Last // (A)와 (B)가 같다면 스택(Stack)처럼 동작 // (A)와 (B)가 다르다면 큐(Queue)처럼 동작 // addFirst로 쌓고 있는 구조에서 제일 앞에 원소를 추가하고 싶다면 addLast로 추가 // addLast로 쌓고 있는 구조에서 제일 앞에 원소를 추가하고 싶다면 addFirst로 추가 static int r = 0; // rc의 행 수 static int c = 0; // rc의 열.. 2022. 11. 27.
[Java] 프로그래머스 [Level-2] 두 큐 합 같게 만들기 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class Solution { // 두 큐 합 같게 만들기 public static int solution(int[] queue1, int[] queue2) { int answer = 0; int length = queue1.length; long queue1Sum = 0; // queue1의 합계만을 사용할 것 long totalSum = 0; long targetSum = 0; Queue q1 = new LinkedList(); Queue q2 = new LinkedList(); queue1Sum = Arrays.stream(queue1).sum();.. 2022. 11. 27.
[Java] 프로그래머스 [Level-1] 성격 유형 검사하기 import java.util.*; public class Solution { //성격 유형 검사하기 static String[] typeArr = {"RT", "CF", "JM", "AN"}; public static String typeCheck(HashMap hm) { StringBuilder sb = new StringBuilder(); char firstChar; char secondChar; char typeChar; for (String s : typeArr) { // "RT", "CF", "JM", "AN" firstChar = s.charAt(0); // 'R', 'C', 'J', 'A' secondChar = s.charAt(1);// 'T', 'F', 'M', 'N' typeChar .. 2022. 11. 27.
[Java] 프로그래머스 [Level-4] 도둑질 두 번째 시도(시간 초과) public class Solution { // 도둑질 // 두 번째 시도(시간 초과) public static int getMaxMoneyExceptTargetIndex(int[] money, int targetIndex) { int[] dp = new int[money.length - 1]; // 제일 먼저 1을 뺐을 경우 2,3,1,4,2,5에서 개미전사 문제 int num1 = (targetIndex + 1) % (money.length); // 타겟 인덱스의 바로 다음 인덱스 int num2 = (targetIndex + 2) % (money.length); // 타겟 인덱스의 다음 다음 인덱스 int num3 = 0; dp[0] = money[num1]; dp[1] .. 2022. 11. 27.
[Java] 프로그래머스 [Level-4] [3차]파괴되지 않은 건물 public class Solution { // 파괴되지 않은 건물 public static int solution(int[][] board, int[][] skill) { int answer = 0; int[] arr = new int[skill[0].length]; int startRowNum = 0; int startColNum = 0; int endRowNum = 0; int endColNum = 0; int affectPoint = 0; for (int i = 0; i < skill.length; i++) { arr = skill[i]; startRowNum = arr[1]; startColNum = arr[2]; endRowNum = arr[3]; endColNum = arr[4]; affec.. 2022. 11. 27.
[Java] 프로그래머스 [Level-2] 주차 요금 계산 import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; public class Solution { // 주차 요금 계산 public static int calcMin(String time1, String time2) { String[] time1Arr = time1.split(":"); String[] time2Arr = time2.split(":"); int min = (Integer.parseInt(time2Arr[0]) * 60 + Integer.parseInt(time2Arr[1])) - (Integer.parseInt(time1Arr[0]) * 60 + Integer.parseInt(time1Arr[1.. 2022. 11. 27.