🔗 튜플import java.util.*;class Solution { public int[] solution(String s) { // 1. 양 끝 {{와 }} 제거 s = s.substring(2, s.length() - 2); // 2. "},{" 기준으로 split String[] sets = s.split("\\},\\{"); // 3. 길이 기준 정렬 Arrays.sort(sets, Comparator.comparingInt(String::length)); // 4. 결과 튜플 저장용 Set seen = new HashSet(); List result = new ArrayLi..
🔗 기능개발import java.util.*;class Solution { public int[] solution(int[] progresses, int[] speeds) { // progresses : 작업 진도, speeds : 작업 속도 Deque queue=new ArrayDeque(); int n=progresses.length; int[] dayLeft=new int[n]; // 남은 일수 계산 for(int i=0;i
🔗 소수 찾기import java.util.*;class Solution { public int solution(String numbers) { // Set 으로 숫자 조합 저장 Set numberSet = new HashSet(); boolean[] visited = new boolean[numbers.length()]; // 모든 자리수 조합을 만들기 generateNumbers("", numbers, visited, numberSet); int count = 0; for (int num : numberSet) { if (isPrime(num)) { count+..
문제 설명N 명의 사람이 원 형태로 서 있습니다. 각 사람은 1부터 N까지 번호표를 갖고 있습니다. 그리고 임의의 숫자 K가 주어졌을 때 다음과 같이 사람을 없앱니다.1번 번호표를 가진 사람을 기준으로 하고 다시 K 번째 사람을 없앱니다.없앤 사람 다음 사람을 기준으로 하고 다시 K 번째 사람을 없앱니다.N과 K가 주어질 때 마지막에 살아있는 사람의 번호를 반환하는 solution()함수를 구현하세요. 제약 조건N과 K는 1이상 1000이하의 자연수 입니다. 입출력 예NKreturn523 문제 풀이import java.util.LinkedList;import java.util.Queue;public class Java15 { public static void main(String[] args) { ..
큐의 개념선입 선출, FIFO 구조(First In First Out)삽입하는 연산 : Enqueue(Add)꺼내는 연산 : Dequeue(Poll) 큐의 특성을 활용하는 분야먼저 들어온 것을 먼저 처리하는 큐의 동작 방식은 주로 여러 이벤트가 발생했을 때 발생한 순서대로 처리할 때 활용됨작업 대기열 : 네트워크 통신을 할 때 다수의 클라이언트에서 서버에 작업을 요청하면 서버는 요청이 들어온 순서대로 작업을 처리이벤트 처리 : 어떤 애플리케이션이나 시스템에서 사용자의 이벤트, 즉 키보드 입력이나 마우스 움직임을 처리할 때 큐의 ADTADT (Abstract Data Type, 추상 데이터 타입) : 데이터의 구현 방법을 명시하지 않고, 해당 데이터가 가져야 할 연산들을 정의 한 것 , 데이터 타입이 ..