자바 17

[Lv_2] 소수 찾기

🔍 아이디어 ✅ 주어진 카드로 만들 수 있는 수를 구한다.(순열) ✅ 구해진 수를 체크하고, 체크된 개수만큼 반환한다. import java.util.*; class Solution { static Set output = new HashSet(); public int solution(String numbers) { int answer = 0; String[] nums = numbers.split(""); for (int i = 1; i < numbers.length() + 1; i++) { perm(nums, new boolean[numbers.length()], 0, i, ""); } for (Integer num : output) { // Set을 순회하며, 소수인 경우 답을 +1 해준다. if (i..

알고리즘 2023.11.04

[Lv_2] 괄호 회전하기

🔍 아이디어 ✅ _!(, {, [!_ 가 확인되면 스택에 담고, 닫는 부호가 확인되면 스택에서 꺼내 비교한다. ✅ 비교결과 짝이 맞지 않거나, 순회를 종료한 시점에 스택 내 남은 괄호가 있다면 _!false!_ 처리 import java.util.*; class Solution { Map map = new HashMap(); public int solution(String s) { int answer = 0; map.put(']', '['); map.put('}', '{'); map.put(')', '('); StringBuilder sb = new StringBuilder(s); if (check(sb.toString())) { answer++; } for (int i = 0; i < sb.length..

알고리즘 2023.10.29

[Lv_2] 순위검색

🔍 아이디어 ✅ 지원자들의 스펙을 가능한 모든 경우의 수를 구해 _!Map!_ 의 _!key!_ 로 저장한다. ✅ 저장한 곳의 _!value!_ 에는 지원자의 점수를 저장해두고, 모든 순회가 종료되면 오름차순으로 정렬한다. ✅ _!query!_ 를 저장해둔 _!key!_ 의 형태로 변환하고 저장된 값이 있는지 찾는다. ✅ 값이 있다면, _!query!_ 의 코딩 기준 점수보다 높은 사람이 몇 명이 있는지 구하고, _!answer!_ 변수에 담아 반환한다. import java.util.*; class Solution { Map map = new HashMap(); public int[] solution(String[] info, String[] query) { int[] answer = new int[q..

알고리즘 2023.10.29

[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

자바 직렬화 알아보기

🔍  직렬화란?객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해 송수신 가능하게끔 하는 것을 의미한다. 예를 들어, 우리가 사용하는 IDE를 종료하고 새로 키더라도 편집하던 화면과 위치를 그대로 보존하고 있는데, 이것은 우리의 사용정보를 '직렬화'해 PC 어딘가에 저장해놓고 있다가 사용자가 IDE를 실행한 시점에 사용정보를 불러오기 때문이다. 사용자의 브라우저와 서버 간의 데이터를 통신할 때 자주 사용하는 JSON도 직렬화의 한 형태인 것이다. 자바는 자바 객체를 직렬화 하는 기능을 보유하고 있다. 직렬화된 파일이나 데이터는 다른 자바 기반의 시스템에서 불러와 그대로 객체로 활용할 수 있는 큰 이점이 있다.🔍  코드로 알아보기import java.io.Serializable;public..

CS 2023.09.13

[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