에라토스테네스의 체
·
알고리즘/Sudo Code
소수를 구할 때 유용한 방식시간 복잡도: O(NlogN) 1. 2부터 N까지의 수를 나열한다.2. 2부터 가장 작은 수를 소수로 정하고, 2의 배수를 모두 지운다.3. 지우지 않은 수 중에서 가장 작은 수(3)를 소수로 정하고 그 배수(3의 배수)를 지운다. 이렇게 하나씩 지워나가다 보면 지워지지 않는 수들이 있는데 이들이 바로 소수다. public class Main { static boolean[] isPrime; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 2부터 구하고자하는 소수를 N까지 isPri..
Java | Dijkstra (최단 경로)
·
알고리즘/Sudo Code
같이 풀면 좋은 문제 https://www.acmicpc.net/problem/24042 다익스트라 알고리즘- 최단 경로를 위해 사용- 현재 코드는 우선순위 큐를 이용- 가중치 값들이 모두 0보다 커야 한다.(음수일 경우에는 안됨) import java.util.*;import java.io.*;public class DijkstraPqMain { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); // 인접 행렬로 만듦. int[][] g = new int[N][N]; // MST에 속하면 true. boolean[] v = new bo..
알고리즘 대비 코딩테스트용 주요 함수 모음[JAVA]
·
알고리즘/Sudo Code
0. 해당 글을 쓰게 된 배경더보기기존에는 c++을 통해서 코테를 준비하였다.그러나, SSAFY를 시작하게 되면서 전공자의 경우는 Java로 모든 수업이 진행된다고 하였다.어차피 Spring framework도 사용하고, 요즘 백엔드 직무 관련해서 많은 기업들에서 Java, node.js, python등으로 많이 보는 경향이 있기에 이참에 코테 언어를 변경해서 공부해야겠다고 마음먹었다.따라서 코테용 주요 함수등을 정리해보면 나와 같은 상황에 있는 사람들에게 조금이나마 도움이 되지 않을까 싶어 글을 쓰게 되었다. 1. 필드의 구분클래스 변수(static variable)인스턴스 변수(instance variable)지역 변수(local variable)class Car { static int mod..
C++ | STL::string 정리
·
알고리즘/Sudo Code
* 하나의 sentence로 이루어진 문장에서 단어별로 분리하기 #include using namespace std;int main(int argc, char const *argv[]){ string a = "It is time to study", res; int pos, max = INT_MIN; while ((pos = a.find(' ')) != string::npos) { string tmp = a.substr(0, pos); int len = tmp.size(); if (len > max) { max = len; res = tmp; } cout max) ..