JAVA 86

백준 알고리즘 풀이(2748번)

/* 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 10 > 55 */ public class P2748 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..

JAVA/알고리즘 2020.06.04

백준 알고리즘 풀이(7785번)

/* * 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. * (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. * "enter"인 경우는 출근, "leave"인 경우는 퇴근이다. * 회사에는 동명이인이 없으며, 대소문자가 다른 경우에는 다른 이름이다. * 사람들의 이름은 알파벳 대소문자로 구성된 5글자 이하의 문자열이다. * * 현재 회사에 있는 사람의 이름을 사전 순의 역순으로 한 줄에 한 명씩 출력한다. * */ public class P7785 { public static void main(String[] args) { // 입력받는 부분은 생략한다 int N = 4; String[] input..

JAVA/알고리즘 2020.06.04

백준 알고리즘 풀이(9461번)

/* * 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. * 첫 삼각형은 정삼각형으로 변의 길이는 1이다. * 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. * 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. * 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. * P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. * N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. * * 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100) * * 각 테스트 케이스마다 P(N)을 출력한다. * */ p..

JAVA/알고리즘 2020.06.04

Java Application 중복 실행 방지(배치 프로그램)

자바 프로그램 중복 실행으로 문제가 발행하지 않게 하기 위한 대처 방법입니다. Spring Batch는 자동으로 PORT 설정이되어 실행되므로 문제가 없을것이라 판단되나, 일반적인 자바 배치 프로그램은 실행중 여부에 상관없이 몇개든 실행이 되도록 되어있습니다. 중복 실행 방지에 대한 다양한 방법이 있으나 1. 프로그램실행시 Temp 파일 체크 및 생성 2. PORT 점유 3. DB Flag 설정 등등.... 가장 안정적이며 확실한 방법중 하나인 PORT 점유에 대해 설명하려고 합니다. 임의의 PORT를 점유하여 사용하게 되며, 프로그램 실행시 해당 PORT 사용 가능여부에 따라 배치 실행, 종료가 결정됩니다. 반드시 실행중인 다른 프로그램이 사용하지 않는 PORT를 사용해야하며, 해당 서버 정보에 명시를..

JAVA/JAVA 2020.06.04

NIO 파일, 폴더 생성

// Create Folder Path newFolderPath = Paths.get("D:\\Desktop\\test"); if(Files.exists(newFolderPath) && Files.isDirectory(newFolderPath)){ System.out.println("폴더가 존재합니다."); }else{ Files.createDirectory(newFolderPath); System.out.println("폴더가 생성되었습니다."); } // Create File Path newPath = Paths.get("D:\\Desktop\\새 폴더 (6)\\isTest.txt"); if(Files.exists(newPath)){ System.out.println("파일이 존재합니다."); }el..

JAVA/JAVA 2020.06.04