전체 글

chocho_log

    Spring-Cloud-Data-Flow(SCDF)구축해보기

    Spring-Cloud-Data-Flow(SCDF)구축해보기

    Spring-Cloud-Data-Flow(SCDF)란? Spring Cloud Data Flow 는 Cloud Foundry 및 Kubernetes에서 스트리밍 및 일괄 데이터 처리 파이프라인을 구축하기 위한 마이크로서비스 기반 툴킷 SCDF 특징 웹 대시보드, REST API, JAVA DSL, console shell 다양한 인터페이스로 제공 로컬, Cloud Foundry 및 Kubernetes 위에서 설치 및 운영 가능 스케줄링 기능은 Cloud Foundry 및 Kubernetes에서만 사용 가능, 일반 서버에서는 X SCDF의 상태 및 데이터 관리는 관계형 DB에서 관리 기본적으로 h2 DB와 연동되지만 실행시 데이터가 초기화 되기 때문에 운영에서 사용시 MySQL, MariaDB와 같은 관계..

    [JAVA] 문자열이 영어로만 이루어져 있는지 판별하기(Pattern.mathces())

    [JAVA] 문자열이 영어로만 이루어져 있는지 판별하기(Pattern.mathces())

    문자열이 알파벳으로만 이루어져있는지 확인할 때 사용한다. 숫자, 한글, 특수문자 등이 한글자라도 섞여있으면 false를 반환한다. import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String s1 = "chocholog"; System.out.println(Pattern.matches("^[a-zA-Z]*$", s1)); String s2 = "chocho_log"; System.out.println(Pattern.matches("^[a-zA-Z]*$", s2)); } // true false

    [JAVA] 아스키(ASCII) 코드 값 구하기

    [JAVA] 아스키(ASCII) 코드 값 구하기

    코딩 테스트 연습을 하다보면 종종 아스키 코드 값을 이용하는 경우가 생긴다. 실무에서는 써본적이 없어서 잘 모르겠다. 필요 할 때마다 매번 구글링을 하니 귀찮고 완전히 내것이 되는 것 같지가 않다. 그래서 이번엔 JAVA로 아스키 코드 구하는 법을 정리해보려고 한다. 아스키 코드표 1. 문자 --> 아스키 코드 public static void main(String[] args) { // 문자 --> 아스키 코드 char c = 'A'; System.out.println((int)c); boolean isSame = c==65 ? true : false; System.out.println(isSame); } // 65 true 2. 아스키 코드 --> 문자 public static void main(St..

    [프로그래머스][Level2][JAVA] 영어 끝말잇기

    [프로그래머스][Level2][JAVA] 영어 끝말잇기

    [문제 설명] https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0] programmers.co.kr [풀이 과정] 풀이시간 : 22:35 ~ 23:35 (딱 한시간) (길다 길어...줄여라 시간..) 끝말잇기에서 탈락하는 경우는 3가지다. 1. 한 글자인 ..

    [JAVA] 최대 공약수(GCD), 최소 공배수(LCM) 구하기

    [JAVA] 최대 공약수(GCD), 최소 공배수(LCM) 구하기

    최대 공약수 구하는 방법 1. 숫자가 2개인 경우 1) 두 수를 공약수로 계속 나눈다. 2) 공약수로 나눈 몫이 서로소가 되면 stop 3) 왼쪽 공약수를 모두 곱한다. ∴ 60 과 48의 최대 공약수 : 2 ✕ 2 ✕ 3 = 12 2. 숫자가 3개 이상인 경우 - 코드에서 배열이 매개변수로 주어지는 경우 1. 모든 수를 동시에 반드시 나눌수 있는 수로 나눈다. 2. 더이상 동시에 나눌 수 없으면 stop 3. 왼쪽 공약수를 모두 곱한다. ∴ 60, 48, 40 의 최대공약수 : 2 ✕ 2 = 4 최소 공배수 구하는 방법 1. 숫자가 2개인 경우 1) 두 수의 공약수로 나눈 몫이 서로소가 될 때까지 나눈다. 2) 왼쪽 공약수들과 아래 서로소까지 모두 곱한다. ∴ 60 과 48의 최소 공배수 : 2 ✕ 2..

    [프로그래머스][Level2][JAVA] 수식 최대화

    [프로그래머스][Level2][JAVA] 수식 최대화

    [문제 설명] https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr [풀이 과정] 문제를 해결하는데에 3가지 알고리즘 및 자료구조 지식을 이용했다. 1. 순열 2. 수식의 계산 - 중위표기법, 후위표기법 3. 스택 (2를 계산할 때 3이 사용된다.) 1. 순열 문제에서는 +, -, * 이 세가지 연산자의 우선순위를 자유롭게 재정의 하여 가장 큰 답을 만드는 계산식의 결과를 리턴하라고 한다. +, -, * 의 우선..

    [JAVA] 수식의 계산 - 전위표기법, 중위표기법, 후위표기법

    [JAVA] 수식의 계산 - 전위표기법, 중위표기법, 후위표기법

    수식 표현에는 3가지 방법이 있다. 1. 전위표기법(prefix) 2. 중위표기법(postfix) 3. 후위표기법(infix) 1. 전위 표기법(prefix) - 연산자가 피연산자들 앞에 위치한 수식 2. 중위 표기법(postfix) - 연산자가 피연산자 사이에 위치한 수식 - 주로 사람이 계산하는 방법 3. 후위 표기법(infix) - 연산자가 피연산자들 뒤에 위치한 수식 - 컴파일러가 계산하는 방법 [JAVA code] 중위표기법 -> 후위표기법 으로 변환 /** * 중위 표기식 -> 후위 표기식 * * @param expression * @return */ public static String postfixToInfix(String expression) { String answer = ""; Sta..

    문자열

    문자열

    1. 소문자 대문자 치환 public static void main(String[] args) { String s = "KiMcHoWoN"; System.out.println("대문자로 : " + s.toUpperCase()); System.out.println("소문자로 : " + s.toLowerCase()); } 대문자로 : KIMCHOWON 소문자로 : kimchowon ** 알파벳 이외에 글자들은 toLowerCase(), toUpperCase() 메소드를 사용해도 원래 문자 그대로 반환

    [프로그래머스] [Level2] [JAVA] 행렬의 곱셈

    [프로그래머스] [Level2] [JAVA] 행렬의 곱셈

    [문제 설명] https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr [풀이 과정] 행렬A와 행렬B 를 곱하기 위해서는 두 행렬이 다음 성질을 만족해야 한다. 1. 행렬A의 행의 길이(k)와 행렬B의 열의 길이(k)가 같아야 한다. 2. 두 행렬의 곱한 결과 행렬은 가로 세로가 (행렬B의 행 * 행렬A의 열) 이다. (m * n) 3. A * B 가 만족하듯이 B * A가 만족하려면 그림처럼 두 행렬..