본문 바로가기

CS16

(mac)H2database - 'Console 응용 프로그램이 예기치 않게 종료되었습니다' 에러 Spring Initializr 스프링 부트 버전 2.x 버전이 사라지고 3.x 버전만 남게 되면서 jdk 버전을 11 -> 17로 업그레이드하고 공부를 하던 중에 잘 작동되던 h2database가 다음과 같은 오류를 뿜으면서 켜지지 않았다. 구글링을 아무리 해봐도 나랑 같은 오류가 있는 사람이 없었는데, 삽질 끝에 해결을 했다. 원인 처음에 jdk17버전을 설치할때 https://tlo-developer.tistory.com/321 이 블로그를 보고 따라했고 설치가 잘 되었다. 하지만 이상하게 이때부터 h2database가 켜지지 않았고 이것저것 시도해 본 결과 brew로 설치한 jdk로는 h2database를 실행할 수 없다는 결론을 내렸다. 해결방법 1. zulu-17 직접 다운로드 https://.. 2023. 12. 10.
프로그래머스 - (PCCP 모의고사) 보물 지도 c++ https://school.programmers.co.kr/learn/courses/15009/lessons/121690 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr bfs를 약간 변형한 문제로, 이동시 신비로운 신발을 사용하여 두칸을 한번에 이동할 수 있다. 방문여부를 확인할 배열을 2차원 배열이 아닌 3차원 배열을 사용하여 방문여부를 확인한다. visited[1001][1001][2] ex) (2,3)을 지날 때 신비로운 신발을 사용 했으면 visited[2][3][1] = true; (2,3)을 지날 때 신비로운 신발을 사용 안했으면 visited.. 2023. 5. 19.
프로그래머스 - 순위 (c++) https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 보통 그래프 문제가 주어지면 양방향 그래프로 주어지는 경우가 많은데, 이 문제는 단방향 그래프이다. A가 B를 이겼다는 경우가 주어지면 'A -> B' 이렇게 노드를 저장한다. 또, 이 문제에는 '플로이드-와샬' 이라는 최단거리 알고리즘이 사용된다. (다익스트라도 최단 거리 알고리즘!) boolean값을 저장하는 2차원 배열을 만드는데, win[a][b]에 저장되어 있는 값은 a가 b를 이겼으면 .. 2023. 5. 17.
프로그래머스 - 전력망을 둘로 나누기 (c++) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전탐색 카테고리에 있는 레벨2 문제 입력으로는 하나의 네트워크로 뭉쳐있는 트리가 주어지고 전선을 한개씩 자르면서 네트워크가 두 개로 나누어지고 네트워크간 송전탑 개수의 차이가 최소로 하는 값을 구하면 된다. 결론적으로 나는 완전탐색 + 크루스칼 을 사용해서 풀었다. 전선을 하나씩 자르면서 생기는 네트워크가 몇개인지 파악하고 각 송전탑이 어떤 네트워크에 속하고 있는지 알기 위해 크루스칼을 사용했.. 2023. 5. 16.
백준 - 최소 환승 경로(2021번) c++ https://www.acmicpc.net/problem/2021 2021번: 최소 환승 경로 첫째 줄에 역의 개수 N(1≤N≤100,000), 노선의 개수 L(1≤L≤100,000)이 주어진다. 다음 L개의 줄에는 각 노선이 지나는 역이 순서대로 주어지며 각 줄의 마지막에는 -1이 주어진다. 마지막 줄에는 출발 www.acmicpc.net 출발역에서 도착역까지 환승 최소 횟수를 구하는 문제 뭔가 bfs 또는 dfs를 사용하면 뚝딱 풀릴듯 말듯.. 아이디어를 떠오르기가 쉽지 않았다. 결국 답을 구해야 하는것은 환승 최소 횟수이므로 각 역을 기준으로 탐색을 하는 것이 아닌 노선을 기준으로 탐색을 해보기로 했다. 입력이 다음과 같을때 10 3 1 2 3 4 5 -1 9 7 10 -1 7 6 3 8 -1 1 .. 2023. 4. 11.
메모리 구조 Code - 프로그램의 코드 Data - 전역변수, static, const로 선언되어있는 변수 중 0이 아닌 값으로 초기화 되어있는 변수들을 저장 BSS - 전역변수, static, const로 선언되어있는 변수 중 0으로 초기화 또는 초기화가 되어 있지 않은 변수들을 저장 Heap - 동적 할당할 때 사용되고 런타임 시 크기가 결정 Stack - 지역변수, 매개변수, 함수가 저장되고 컴파일 시에 크기가 결정 - 함수가 함수를 호출 하는 등에 따라 런타임시에도 크기가 변경될 수 있음 2023. 4. 3.