전체 글 679

[JAVA] 백준 9742번- 순열

https://www.acmicpc.net/problem/9742 9742번: 순열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 문자열은 서로 다른 숫자와 알파벳으로 이루어져 있으며, 길이는 최대 10이다. 또한, 사전 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ private static int totalCount, num; private static boolean visit[]; // 중복 방지 위해 ..

ALGORITHM 2022.08.21

[JAVA] 백준 15651번- N과 M(3)

https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 // public stati..

ALGORITHM 2022.08.21

[JAVA] 백준 15650번- N과 M(2)

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 public static b..

ALGORITHM 2022.08.20

[JAVA] 프로그램, 프로세스, 쓰레드 개념

컴퓨터를 이루는 주요 구성 요소에는 중앙 처리 장치(CPU), 메모리, 하드디스크가 있다. CPU- 연산을 수행함으로써 실제 프로그램을 실행하는 장치 하드디스크- 데이터의 저장 역할을 수행 메모리- 저장된 데이터를 CPU로 보내는 역할 하드디스크에 저장된 프로그램이 실행되기 위해서는 먼저 프로그램을 메모리로 로딩하는 과정을 거쳐 프로세스 상태로 만들어야 한다. 프로그램- 하드디스크에 저장된 파일들의 모임 프로세스- 메모리에 로딩된 프로그램 멀티 프로세스- 동일한 프로그램을 메모리에 여러번 로딩하면 여러개의 프로세스가 동작하는 것 쓰레드란? 프로세스(process) 내에서 실제로 작업을 수행하는 CPU 수행 단위. CPU를 사용하는 최소 단위라고 할 수 있다. 실제 CPU를 사용하는 것은 프로세스 내부의 ..

BACK/JAVA 2022.08.18

[MySQL] ALTER 문으로 UNIQUE 설정

프로젝트를 하면서 좋아요 기능을 구현하던 중, 한 사람이 특정 포스트에 좋아요를 두번 이상 누를 수 없기 때문에 이를 SQL문으로 제약조건을 걸었다. alter table likes add constraint uq_likes unique(post_id, user_id); likes 테이블에서 post_id와 user_id 의 쌍이 유니크 해야하는 uq_likes 제약 조건을 추가해주었다. 이참에 ALTER 문으로 UNIQUE 설정하는 법에 대해 정리해보았다. 테이블에 새로운 필드를 추가할 때 UNIQUE 제약 조건을 설정하는 문법 1. ALTER TABLE 테이블이름 ADD 필드이름 필드타입 UNIQUE 2. ALTER TABLE 테이블이름 ADD [CONSTRAINT 제약조건이름] UNIQUE (필드이..

카테고리 없음 2022.08.18

[JAVA] 알고리즘 : DFS- 이진트리순회

class Node{ int data; Node lt, rt; // 인스턴스 변수-노드라는 클래스의 객체 주소를 저장 public Node(int val){ data=val; lt=rt=null; } } public class Main{ Node root; public void DFS(Node root){ if(root==null) return; // 말단 노드라면 else{ // System.out.print(root.data+" "); // 전위 순회 DFS(root.lt); // System.out.print(root.data+" "); // 중위 순회 DFS(root.rt); // System.out.print(root.data+" "); // 후위 순회 } } public static void ..

ALGORITHM 2022.08.15

[JAVA] 백준 15649번- N과 M(1)

https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 public static b..

ALGORITHM 2022.08.15

[JAVA] 쓰레드의 동기화(메서드 동기화, 블록 동기화)

동기화란 하나의 작업이 완전히 완료된 후 다른 작업을 수행하는 것이다. 멀티쓰레드를 사용할 땐 동기화가 필요하다. 동기화를 사용하지 않았을 때 문제 발생 // 공유 객체 class MyData{ int data = 3; public void plusData(){ int mydata=data; // 데이터 가져오기 try {Thread.sleep(2000);} catch(InterruptedException e){} data=mydata+1; // 2초 후에 값을 1만큼 증가 } } // 공유 객체를 사용하는 쓰레드 class PlusThread extends Thread{ MyData myData; public PlusThread(MyData myData){ // 생성자의 매개변수로 MyData 객체를 ..

BACK/JAVA 2022.08.10

[JAVA] 알고리즘 : DFS- 피보나치 재귀(메모이제이션)

class Main{ public int DFS(int n){ if(n==1) return 1; else if(n==2) return 1; else return DFS(n-2)+DFS(n-1); } public static void main(String[] args) { Main T = new Main(); int n=7; for(int i=1; i0) return fibo[n]; // 배열에 값이 이미 있다면 바로 리턴 if(n==1) return fibo[n]=1; else if(n==2) return fibo[n]=2; else return fibo[n]=DFS(n-2)+DFS(n-1); } public static void main(String[] args) { Main T = new Main()..

ALGORITHM 2022.08.10
반응형