728x90

2024/11/21 2

[프로그래머스]메뉴 리뉴얼-java

📌풀이1. 각 주문을 알파벳 순서로 정렬한 뒤, 조합을 생성한다.2. 생성된 조합이 나타나는 횟수를 기록한 뒤, 각 길이에 대해 가장 많이 주문된 조합을 찾는다.3. 최종적으로 모든 결과를 사전 순으로 정렬하여 반환한다.최악의 경우 10*20*2^10 📌코드import java.util.*;class Solution { public static void getCombination(Map ret, String str, int N, int depth, int start, char[] cur){ if(depth>=N){ if(!ret.containsKey(new String(cur))) ret.put(new String(cur), 0); ret.pu..

알고리즘 2024.11.21

JavaScript의 비동기와 이벤트 루프

📌브라우저의 멀티 스레드로 작업을 동시에JavaScript는 싱글 스레드 언어로, 한 번에 하나의 작업만 수행이 가능하다. 반면 Java나 Python은 멀티 스레드를 지원하여 원하는 코드 로직을 동시에 수행시키는 멀티 작업이 가능하다.웹 어플리케이션에서는 네트워크 요청이나 이벤트 처리, 타이머와 같은 작업을 멀티로 처리해야 하는 경우가 많다. 만일 싱글 스레드로 브라우저 동작이 한번에 하나씩 수행하게 되면, 우리가 파일을 다운로드 받을 동안 브라우저는 파일을 다 받을 때까지 웹서핑도 못하고 멈춰 대기해야 한다. 따라서 파일 다운, 네트워크 요청, 타이머, 애니메이션 이러한 오래 걸리고 반복적인 작업들은 자바스크립트 엔진이 아닌 브라우저 내부의 멀티 스레드인 Web APIs에서 비동기+논블로킹으로 처리..

📕CS 2024.11.21
728x90