분류 전체보기 187

백준_거북이(JAVA)

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 기본 구현 문제이다. 근데 나는 헤맷다....아직 갈길이 먼것 같다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class 백준_거북이 { // 상, 우, 하, 좌 (상부터 시계 방향으로) private static int[] dx = {0, 1, 0, -1}; private static int[] dy = {1, 0, -1, 0}; private static int[][]map = new int[500][500]; public static void main(String[]..

알고리즘 2024.10.10

프로그래머스 N개의 최소공배수 (JAVA)

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스프로그래머스 N개의 최소공배수를 구하는 문제이다. 여기서는 기존의 2개 숫자를 주고 최대공약수를 구한 이후 a*b / 최대공약수 를 하는 방식을 여러번 반복하는 것으로 알고리즘을 만들었다. 최대공약수를 만드는 공식은 유클리드 호제법을 사용한다. gcd(a, b) 를 하고 다시 return 값으로 gcd(b, a%b) 가 들어가게 된다. 처음에  생각하기로는 a와 b 사이에 크기 비교가 들어가야한다고 생각했다. 무조건 뒤에오는 숫자가 작아야 한다고 생각했기 때문이다. 하지만 크기는 중요하지 않았다. 왜냐하면 gcd(24, 9) 와 gcd(9, 24)의 값은 똑같이 나오기 때문이다.예를 들어 gcd(24, 9) 로 시작하게 되면 두번..

알고리즘 2024.10.09

프로그래머스 - 모음사전(java)

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스재귀를 통해서 풀어보았다. 최대 3천개까지임으로 점화식을 세워도 됬었지만 재귀가 끌려서 재귀호출로 풀었다. 총 재귀로 리스트에 담아준 뒤 sort시킨 이후 , 몇번째 인덱스인지 뽑는 방법을 사용했다. import java.util.*;class Solution { private static List list = new ArrayList(); private static char[] arr = {'A', 'E', 'I', 'O', 'U'}; private static StringBuilder sb = new StringBuilder(); public int solution(String word) { ..

알고리즘 2024.10.09

쓰레드와 프로세스에 대한 자세한 설명

쓰레드란?쓰레드는 여러 작업을 병렬 처리하기 쉽게 만들어주는 기술이다. 여러 리퀘스트들이 날아와서 그때마다 서버에서는 쓰레드 하나하나로 처리한다고 가정하자. 이때 발생하는 문제점은 리퀘스트 각각마다 쓰레드가 생기고 사라지는게 반복되어 시스템에 부하가 걸릴 가능성이 있다. 이에 대한 해결책으로 나온 기술이 쓰레드 풀쓰레드 풀은 쓰레드 여러개왜 큐로 구성이 되는데, 일단 리퀘스트들을 큐에 쌓아서 대기 시키고 쓰레드가 비어있으면 각 쓰레드에 할당하여 작업한다. 그리고 큐의 사이즈는 INTEGER.MAX임으로 이를 잘 설정을 해주어야 한다. 그렇지 않으면 시스템 과부하가 걸린다. 쓰레드 풀 외에도 커넥션 풀, 프로세스 풀 등이 있다. 쓰레드를 사용하며 생길 수 있는 문제는 동기화 문제이다. 예를 들어 귤박스 2..

CS 2024.10.02

JAVA paralled stream 이란?

자바 병렬 스트림이란 무엇일까? 멀티쓰레드 프로그래밍을 쉽게해줌개발자가 쓰레드나 쓰레드풀을 생성할 필요없이 paraleldstream을 사용하기만 하면 된다. 하나의 태스크를 효율적으로 처리하기 위해 쓰레드를 생성해도 되고, 자바 병렬스트림 기법을 활용해도 된다. 일단 예시로 쓰레드를 사용하여 처리한다고 가정했을 시 public class MyTask extends Thread { @Override public void run() { // 병렬로 처리할 작업 System.out.println("Task executed by: " + Thread.currentThread().getName()); } public static void main(String[] a..

CS 2024.10.02

추상클래스 인터페이스 차이점에 대하여

추상클래스 abstract추상클래스는 아무 기능도 갖지 않는 클래스이다. 하지만 extend 즉 상속받는 클래스 입장에서는 추상 클래스들을 다 정의해야한다.  예를 들어 동물의 특성으로 eat 기능과 makeSound를 갖는다. 라는 기능을 정의 했다.그런데 개, 고양이, 코끼리, 사자 ... 등의 울음소리는 제각각 다 다르다.이때 Animal 클래스에서 makeSound() 기능을 추상메서드로 구현하고 이를 상속받는 각각의 동물들에서 구현하게 만든다. abstract class Animal { // 공통된 속성 String name; // 추상 메서드 abstract void makeSound(); // 구현된 메서드 void eat() { System.ou..

CS 2024.10.02

스프링에서 Bean 이란?

- Bean 이란 스프링 컨테이너에 의해 관리되는 객체를 뜻한다.스프링컨테이너란? 스프링 컨테이너의 주요 기능:빈 생성 및 관리: 컨테이너는 스프링 설정에 따라 빈을 생성하고, 해당 객체를 관리합니다.의존성 주입(DI): 컨테이너는 빈 사이의 의존성을 자동으로 주입해 줍니다.생명주기 관리: 빈의 생성부터 소멸까지의 생명 주기를 관리합니다.조금 더 딥하게 들어가서 스프링 컨테이너는 인터페이스다.가장 최상위로는 빈 팩토리를 가지고 있고 부가 기능을 가진 인터페이스인 어플리케이션 컨텍스트라는 인터페이스를 하위로 가지고 있다.인터페이스는 기능 구현은 안된상태로 기능의 이름만 구현된 상태이다. 그래서 이를 구현하는 구현체가 따로 존재한다.개발자들은 어플리케이션 개발 시마다 이 구현체를 구현할 필요는 없고, 이를 ..

CS 2024.10.01

오라클 데이터베이스 임포트 과정

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 가장 먼저 테이블 스페이스 공간을 확인해야 한다. SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;해당 SQL을 데이터베이스에서 실행한다.  나같은 경우 이렇게 테이블 스페이스를 가지고 있다. 이제 새로운 테이블 스페이스를 생성해야한다. CREATE TABLESPACE WMSTWAYDATAFILE 'C:\dev\oradata\WMSTWAY.dbf' SIZE 10M AUTOEXTEND ON NEXT 100M MAXSIZE 10240M UNIFORM SIZE 1M;  이렇게 해서 새로운 테이블 스페이스가 생성되었다. 다음은 유저를 생성해준다. CREATE USER TWAYIDENTIFIED BY TWA..

ORACLE 연습 2024.09.10

프로그래머스 _ 소수찾기 (JAVA)

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 프로그래머스 소수찾기 부분이다. 웹에서 풀면 화면이 너무 작아서 IDE환경에서 작업했다. static 변수 선언한 곳과 메인함수만 빼고 복사해서 프로그래머스에 넣으면 정상 작동한다.    import java.util.*;public class 프로그래머스_소수찾기 { static boolean check[]; static ArrayListarr = new ArrayList(); public static void main(String[] args) { int finalAnswer = solution("011"); System.out.println("최종 답"+finalAnswer); ..

알고리즘 2024.09.03