분류 전체보기 15

Gitlab clone 시, SSL 인증 오류

깃랩에서 프로젝트를 클론받기 위해 진행하던 중 SSL 인증 오류로 인해 진행하지 못했다.C:\common_pjt\server>git clone https://lab.프로젝트주소.gitCloning into '프로젝트명'...remote: Enumerating objects: 3819, done.remote: Counting objects: 100% (1246/1246), done.remote: Compressing objects: 100% (706/706), done.error: RPC failed; curl 56 OpenSSL SSL_read: OpenSSL/3.2.1: error:0A000119:SSL routines::decryption failed or bad record mac, errno 0e..

카테고리 없음 2025.02.10

백준 1922 / 네트워크 연결

https://www.acmicpc.net/problem/1922  정점 위주 : 크루스칼 (유니온파인드 + pq로 노드 정렬)import java.util.*;import java.io.*;public class 네트워크연결 { static class Node{ int a; int b; int c; Node(int a, int b, int c){ this.a = a; this.b = b; this.c = c; } } static int N, M, result; static int[] parent, rank; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(n..

카테고리 없음 2024.12.03

백준 여행가자

https://www.acmicpc.net/problem/1976 도시들의 연결된 것을 파악해야하는 문제이기 때문에 유니온 파인드로 풀이했다. import java.util.*;import java.io.*;public class 여행가자 { static int N, M; static int[] parent, rank; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; N = Integer.parseInt(br.readLine()); M = Integer.parseInt(br.r..

코딩테스트 2024.11.29

백준 알고스팟

다익스트라 알고리즘으로 풀이할 수 있는 문제1번과 2번 코드의 차이점은 2가지가 있다.pq.add(new Node(0,0,0));cost[0][0] = 0;2번째 코드의 45번 라인이다.내 생각에는 Node(0,0,0)과 Node(0,0,map[0][0])은 동일하기 때문에 문제가 아니지만 cost[0][0]=0 으로 초기화해준 부분이 키인것 같다.방문배열을 별도로 사용하지 않기 때문에 cost배열은 방문배열의 역할도 겸하고 있다. 그렇게 때문에 0으로 초기화하지 않으면 다시 [0][0]으로 되돌아 오는 경우가 발생할 때, 방문이 체크되지 않았기 때문에 잘못된 경로를 추가하게 될 수 있다. 따라서 0으로 초기화하여 방문을 체크함으로써 올바른 비용을 계산할 수 있도록 했다. 1. 틀린 코드import ja..

코딩테스트 2024.11.29

[백준 10819번]차이를 최대로

단순한 문제다. 브루트포스로 풀 수 있는 문제이고 N이 최대 8개밖에 주어지지 않는다.순열 공식을 사용해서 모든 경우의 수를 전부 구해보았다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class 차이를최대로 { static int N, result; static int[] num, p; static boolean[] visited; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new Inpu..

카테고리 없음 2024.11.05

[백준 10425] 피보나치 인버스

딱봤을 때,, 아무생각도 나지 않았고 일단 피보나치 수열부터 만들고 시작해야하나?라는 생각이 들었는데, 그렇게 푸는게 맞는 것 같다. 문제 분류가 이분탐색, 임의 정밀도/큰수 연산으로 되어 있었는데 이분탐색은 수열을 다 만들고 탐색할 때만 사용했다. 이 문제의 관건은 BigInteger를 쓸 수 있는가? 인것 같다. import java.io.*;import java.math.BigInteger;import java.util.*;public class 피보나치인버스 { static int T; static BigInteger Fn; static BigInteger[] fibo; public static void main(String[] args) throws Exception { BufferedRea..

코딩테스트 2024.11.05

[백준 10164] 격자상의 경로

기존에 이런 문제를 풀어본 적이 있어서 당연하다는 듯이 DP로 풀었는데, 동그라미가 표시된 칸이 없는 경우가 있다는게 변수였다.import java.io.*;import java.util.*;public class 격자상의경로 { static int N, M, K; static int[][] map; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken())..

코딩테스트 2024.11.05

[알고리즘] 인덱스 트리

인덱스 트리 : 구간 합 또는 구간 최소값/최대값을 빠르게 구할 수 있는 자료구조. 세그먼트 트리를 포함하고 있는 개념이며 좀 더 간단하다. 인덱스 트리는 다음의 단계를 통해 만들 수 있다.  1. 인덱스 트리 생성, 초기화2. 구간 합 계산3. 트리 업데이트 예제를 통해 알아보자구간을 구하는 문제이고, 값의 변화가 잦기 때문에 인덱스 트리로 풀기에 적절한 예제이다.https://www.acmicpc.net/problem/2042 //입력5 2 2123451 3 62 2 51 5 22 3 5//출력1712 기본 배열의 값을 리프 노드로 두고, 부모 노드는 자식 노드의 합으로 구성한다. 이 구조 덕분에 부모 노드가 자식 구간의 합을 저장하고, 구간 합을 구하거나 값을 업데이트하는 작업이 O(log N)에 ..

코딩테스트 2024.11.05

[알고리즘] 트리를 사용해서 구간합 구하기

1. 구간합- 수들의 나열에서 특정 구간의 합을 의미한다. 구간 합 알고리즘은 보통 1차원 배열에서 i~k 인덱스 사이의 값들의 합을 구하는데 사용한다.- 합배열을 사용해서 쉽게 구할 수 있다.인덱스 2부터 4까지의 구간합을 구하기 위해서는 합배열의 인덱스 4에서 인덱스 1의 값을 빼면 된다.하지만 이때 배열 A의 값이 업데이트 되는 경우, 배열 A의 합배열이 전부 변경되어야 하는 상황이 발생하게 된다. 예시와 같이 7개짜리 배열이면 큰 문제가 되지 않지만, 배열의 크기가 클 수록 많은 값들이 변경되어야 한다.이러한 경우 트리를 사용하여 구간합을 구할 수 있다. 트리를 배열로 구현하는 내용이 헷갈린다면 아래의 블로그를 참고하면 좋을 것 같다.정리를 잘해두셔서 이해하기 좋다.https://yoongramm..

코딩테스트 2024.10.22

[알고리즘] 시뮬레이션

시뮬레이션의 사전적 정의는 다음과 같다.시뮬레이션 : 실제로 실행하기 어려운 과정을 간단히 행하는 모의실험 코딩테스트에서도 마찬가지로 간단하게 주어지는 조건을 따라 한단계씩 순차적으로 특정 과정을 수행하는 것을 말한다. 주로 캐릭터를 2차원 공간에서 이동하는 문제가 있다고 한다. 구현의 한 종류에 속하기 때문에 특정한 기술보다는 상세한 사고과정이 필요하다. 구현 문제는 머릿속으로 사고하기는 쉽지만 실제 코드로 옮기는 것이 어렵기 때문이다. 예시 문제로는 백준의 2638. 치즈가 있다.https://www.acmicpc.net/problem/2638 적용한 문제 해결방식은 아래와 같다. 1. 치즈가 없어질 때까지 시간은 계속 흘러간다.2. 한시간이 지난 뒤에 남은 치즈를 Flood Fill을 이용해 개수를..

코딩테스트 2024.10.08