알고리즘 91

[Lv_2] 양궁대회

🔍 아이디어 ✔️ 각 점수별 점수 획득 조합 계산 ✔️ 계산된 조합별 점수 차를 계산하고 디테일한 조건을 맞춰준다 - 최대 점수 차로 승리해야한다. - 점수 차가 동일하다면 낮은 점수의 과녁을 많이 맞춘 경우의 수를 반환한다. - 이길 수가 없다면 _!-1!_ 로 반환한다. import java.util.*; class Solution { static List permu = new ArrayList(); public int[] solution(int n, int[] info) { int[] answer = {}; int[] bucket = new int[11]; int[] maxArr = new int[11]; int maxGap = 0; getCombination(0, bucket); for (int[..

알고리즘 2023.10.12

[Lv_2] 행렬 테두리 회전하기

🔍 아이디어 ✔️ 시계방향으로 회전하며 배열 값을 바꿔주는 문제 ✔️ 복잡한 알고리즘 대신 직접 _!for!_ 문을 구현, 간단하게 풀 수 있었다. import java.util.*; class Solution { public int[] solution(int rows, int columns, int[][] queries) { int[] answer = new int[queries.length]; int[][] field = new int[rows][columns]; int count = 1; for (int i = 0; i < field.length; i++) { for (int j = 0; j < field[0].length; j++) { field[i][j] = count; count++; } } ..

알고리즘 2023.10.05

[Lv_2] 두 큐 합 같게 만들기

🔍 아이디어 ✔️ 반복문의 시작에서 정답요건을 검증한다. ✔️ 요건에 충족되지 않은 경우, 합이 큰 쪽에서 작은 쪽으로 자신의 배열 요소를 넘겨준다. ✔️ 한 쪽 배열의 크기가 0이 되어도 정답이 나오지 않았거나, count가 비정상적으로 커진 경우는 체크해서 해결 불가능한 케이스로 처리한다. import java.util.*; class Solution { public long solution(int[] queue1, int[] queue2) { Queue q1 = new LinkedList(); Queue q2 = new LinkedList(); long sum_q1 = 0; long sum_q2 = 0; for (int i : queue1) { sum_q1 += (long) i; q1.add((lo..

알고리즘 2023.09.18

[Lv_2] 두 원 사이의 정수 쌍

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public long solution(int r1, int r2) { long answer = 0; // 그래프의 양인 부분에서 조건에 일치하는 점의 개수를 구하고 거기에 4를 곱한 값이 정답 for (long i = 1; i

알고리즘 2023.08.24

[Lv_2] 숫자 변환하기

문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/154538 import java.util.*; class Solution { public int solution(int x, int y, int n) { // set으로 선언해서 같은 값들이 중복생성 되는 것 방지 -> 경우의 수 낮추기 HashSet set = new HashSet(); // 초기값 대입 set.add(x + n); set.add(x * 2); set.add(x * 3); int count = 1; // x와 y가 같은 경우는 count = 0 if (x == y) { return 0; } while (set.size() > 0) { if (set.contains(y)) ..

알고리즘 2023.08.23