전체 글 썸네일형 리스트형 Ubuntu 에 Adoptium Temurin OpenJDK 17 설치하기 1. 시스템 업데이트sudo apt update && sudo apt upgrade 2. Adoptium Temurin OpenJDK17 설치 wget https://github.com/adoptium/temurin17-binaries/releases/download/ jdk-17.0.7%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.7_7.tar.gz 혹은 https://adoptium.net/en-GB/temurin/releases/ 에서 다운로드 후tar xzfv OpenJDK17U-jdk_x64_linux_hotspot_17.0.7_7.tar.gz 아카이브 추출 3. Ubuntu에 Adoptium Temurin OpenJDK 17을 설치합니다.추출된 폴.. 더보기 MAC OS H2 웹 콘솔 연결 시 오류 발생 먼저 이 글은 나 같은 맥북을 처음 사용하는 초보 유저를 위해 작성되었음을 밝힌다. 김영한님의 스프링 강의 듣는 기간 중 노트북을 윈도우 기반 노트북에서 맥북으로 갈아타게 되었는데 h2 database 설치 후 jdbc URL 에 jdbc:h2:~/jpashop 을 입력하니 아래와 같이 오류가 발생했다. database "/private/var/root/jpashop" not found, and ifexists=true ....... 오류의 원인과 해결법은 이렇다 원인 : 최근 버전의 경우 보안상의 이유로 웹콘솔에서 새 데이터베이스를 작성할 수 없음. (사용된 버전은 h2-1.4.999이다) 해결법 : h2 를 별도 설치 database를 직접 생성 h2를 별도 설치하기 위해 패키지 관리 툴(Homebr.. 더보기 에그마요 recipe 삶은 계란 , 양파, 당근, 기호에 따라 피클, 파프리카 모두 잘게 다지기 + 설탕 소금, 후추, 마요네즈 끝 빵을 만약에 식빵 사용한다고 하면 빵 테두리 부분 자를것 더보기 DSL이란? DSL : Domain Specific Language 특정 영역을 타겟하고 있는 언어를 말한다. 예를들어, SQL DB의 데이터를 참조하기 위해 날리는 query는 말그대로 "DB에 데이터를 참조하기 위한 목적" 으로만 사용되며 SQL로 웹 애플리케이션 서버를 만드는 것은 절대 불가능 하다. 반면 JAVA, Kotlin은 SQL을 만들어 낼 수 있다. 사실상 SQL은 특정한 문법을 가진 문자열이기 때문이다. 참조 : https://lannstark.tistory.com/13 더보기 백준 10844번 쉬운 계단 수 dp 풀이 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net arr[N][L] = arr[N - 1][L - 1] + arr[N - 1][L + 1]=> 길이가 N 일 때, 마지막 수가 L일 경우의 계단 수 주의할 점은 위의 점화식은 L이 (1 ~ 8) 일 때 성립한다. 왜냐하면 0은 +1을 한 1만 허용되고 9는 -1을 한 8만 적용되기 때문이다. 구체적인 점화식은 다음과 같다. L = 0 => dp[N][L] = dp[N - 1][L + 1] L = (1 ~ 8) => arr[N][L] = arr[N - 1][L - 1] + arr[N - 1][L + 1] L = 9.. 더보기 백준 1463 자바 dp 풀이 and bfs 풀이 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net Top-down은 가장 큰 문제를 방문 후 작은 문제를 호출하여 답을 찾는 방식이고, Bottom-up은 가장 작은 문제들 부터 답을 구해가며 전체 문제의 답을 찾는 방식이다. 흔히 top-down은 재귀 호출을, bottom-up은 반복문을 이용해 구현한다. Top-down 방식은 점화식을 이해하기 쉽다는 장점이 있고, Bottom-up 방식은 함수를 재귀 호출하지 않기 때문에 시간과 메모리 사용량을 줄일 수 있다는 장점이 있다. 우선 D[j]를 구한다고 해보자 (1 더보기 백준 1932 자바 DP 풀이 연두색 부분은 j == 0 일때 하늘색 부분은 i == j 일때 보라색 부분은 둘다 해당되지 않는 경우이다. 현재 i 행의 j번째 위치까지의 최대 합은 i행의 j번째로 입력 받은 값 triangle[i][j]와 이전 i - 1행의 j - 1번째 triangle[i - 1][j - 1] 혹은 j번째까지의 합 triangle[i - 1][j] 중 최대값을 더한 값이다. 단, 0번째 위치의 값은 j - 1번째가 존재하지 않고 삼각형의 끝 위치에 있는 값은 j번째 값이 존재하지 않으므로 예외 처리를 해준다. 코드로 나타내면 다음과 같다. import java.io.*; import java.util.StringTokenizer; public class t1932 { static int[][] triangle; .. 더보기 배열(Array)과 연결리스트(Linked List) 차이 -속도- (1번 포인트) 데이터에 대한 접근 속도 - 배열 승 배열은 index만 있다면 O(1)에 접근. 연결리스트는 최소 한 번은 리스트를 순회하여야 하므로 O(n)에 접근. (2번 포인트) 데이터 삽입 속도 - 경우에 따라 다름 (전체적으로 연결리스트 승리) 만약 배열에 공간이 많이 남아있고 맨 끝에 삽입한다면, 삽입 속도 역시 O(1)에 가능. 하지만 이런 경우만 발생하는 경우는 꽤 드물기 때문에 연결리스트의 필요성이 대두됨. 연결리스트는 어느 곳에 삽입하던지 O(n)의 시간에 접근함. (만약, 중간 삽입이 없다면 O(1)에 접근) 배열의 경우 데이터를 중간이나 맨 앞에 삽입할 경우 그 이후의 데이터를 한 칸씩 미뤄야하는 추가과정과 시간이 소요. 하지만 연결리스트는 필요없음. 또한 배열의 경우 데.. 더보기 이전 1 2 3 4 다음