2025/03/06 9

[내일배움캠프Spring-13일차] Thread

1️⃣ 프로세스와 쓰레드- 프로세스: 실행중인 프로그램, 자원과 쓰레드로 구성(공장으로 비유)- 쓰레드: 프로세스 내에서 실제 작업을 수행, 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. (일꾼으로 비유)" 하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다 "2 프로세스 1 쓰레드 보다는 1프로세스 2쓰레드가 낫다고 말하는 것이다.(2개의 공장을 운영하는 거 보다 1개의 공장을 만드는 게 낫다는 것 !) => 싱글 쓰레드 프로세스가 두개인 것 보다 멀티 쓰레드 프로세스 1개, 쓰레드가 2개인게 낫다는 것이다.CGI 의 경우 웹서버에서 요청이 들어올 때 마다 하나의 프로세스를 만들었다. 하지만, Java Servlet 은 멀티 쓰레드를 지원해서 요청..

[programmers] 12928 약수의 합

문제 설명정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.제한 사항n은 0 이상 3000이하인 정수입니다.입출력 예nreturn122856입출력 예 #112의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.입출력 예 #25의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.전체코드class Solution { public int solution(int n) { int answer = 0; for (int i=1; i코드설명- 약수는 값을 나누었을 때 나머지가 없는 자연수를 뜻한다 !

[programmers] 12954 x만큼 간격이 있는 n개의 숫자

문제 설명함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.제한 조건x는 -10000000 이상, 10000000 이하인 정수입니다.n은 1000 이하인 자연수입니다.입출력 예xnanswer25[2,4,6,8,10]43[4,8,12]-42[-4, -8] 전체코드class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; for (int i=1; i코드 설명일반 배열을 선언할 때는 두가지 방법이 있다.long[] list = ..

[programmers] 87389 나머지가 1이 되는 수 찾기

문제 설명자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.제한사항3 ≤ n ≤ 1,000,000입출력 nresult1031211 입출력 예 #110을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.입출력 예 #212를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다.전체 코드class Solution { public int solution(int n) { int answer = ..

[programmers] 12925 문자열을 정수로 바꾸기

문제 설명문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.제한 조건s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.s는 "0"으로 시작하지 않습니다.입출력 예예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.전체코드class Solution { public int solution(String s) { return Integer.valueOf(s); }}코드 설명String값을 Int, Double, Long으로 바꿀려면 Integer.v..

[programmers] 12934 정수 제곱근 판별

문제 설명임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 사항n은 1이상, 50000000000000 이하인 양의 정수입니다.입출력 예nreturn1211443-1입출력 예 설명입출력 예#1121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다.입출력 예#23은 양의 정수의 제곱이 아니므로, -1을 리턴합니다.전체코드import java.util.*;class Solution { public long solution(long n) { Double sqrt = Math.sqrt(n); ..

[programmers] 12932 자연수 뒤집어 배열로 만들기

문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.제한 조건n은 10,000,000,000이하인 자연수입니다.입출력 예nreturn12345[5,4,3,2,1]전체 코드class Solution { public int[] solution(long n) { String strN = String.valueOf(n); int[] answer = new int[strN.length()]; for (int i=0; i세부 설명- 첫번째 리스트 값 = String의 마지막 Char 의 Integer값- 두번째 리스트 값 = String의 마지막 -1 Char 의 Intege..

[programmers] 12933 정수 내림차순으로 배치하기

문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.제한 조건n은 1이상 8000000000 이하인 자연수입니다.입출력 예nreturn118372873211 전체 코드import java.util.*;class Solution { public long solution(long n) { List numberList = new ArrayList(); while (n > 0) { numberList.add(0,n%10); n /= 10; } String answer =..

Lv 3. 도전 계산기 만들기

🔢 Calculator Project 🔣🎫 구현된 프로젝트⚒ 프로젝트1. 프로젝트 이름" Calculator Project "2. 프로젝트 소개이 계산기는 사용자가 직관적으로 계산을 수행할 수 있도록 Swing UI로 만든 Java Project 입니다.기본적인 사칙연산(더하기, 빼기, 곱셈, 나눗셈)을 지원하며, 사용자는 입력한 숫자와 계산 결과를 쉽게 확인할 수 있습니다.추가적으로 'C'와 'CE' 버튼을 통해 입력값을 초기화하거나 최근 입력을 지울 수 있으며, 백스페이스 기능을 제공하여 실수로 입력한 숫자를 쉽게 수정할 수 있습니다.계산된 값들은 우측에 별도로 저장되며, 버튼을 통해 저장된 값 삭제 및 입력 값보다 큰 값을 출력할 수 있습니다.3. 프로젝트 실행1) basic 패키지basic ..