전체 글
-
[Algorithm] Sliding Window 알고리즘💻Programming/Algorithm 2024. 3. 3. 16:53
문제 12 15 11 20 25 10 20 19 13 15 와 같은 N개의 원소를 가지고 있는 배열과 변수 K가 주어졌을 때 연속된 K개의 합중에서 가장 큰 값을 구해라 예시 입력 10 3 12 15 11 20 25 10 20 19 13 15 예시 입력의 첫번째 수는 N개의 배열을 줄것이다라는 것이고, 두번째 수는 K를 주는 것이다. 예시 출력 56 처음에 내가 짰던 알고리즘은 이중 for문을 사용하였다. 그랬더니 또 Timeout Error가 발생하였다. 나는 이중 for문을 이용해도 시간복잡도가 O(N)일거라고 생각하였다. 저 예시 입력의 경우에는,,, 생각해보면 만약 N이 100000인데, K가 60000이다? 그러면 시간복잡도는 거의 O(N*N)이 되어버린다.. 그래서 타임아웃 오류가 발생하였던 ..
-
[Algorithm] Two pointers 알고리즘을 이용하여 공통원소 구하기💻Programming/Algorithm 2024. 3. 2. 20:52
문제 A, B 두 개의 집합이 주어지면 두 집합의 공통 원소를 추출하여 오름차순으로 출력하는 프로그램을 작성하세요. (각 집합안의 원소는 중복되지 않는다.) 입력 예시 5 1 3 9 5 2 5 3 2 5 7 8 출력 예시 2 3 5 일단 내가 짠 코드는 이중 for문을 이용하여 n과 m이 각 리스트의 원소의 수라고 하였을 때 시간복잡도가 O(n*m)이었다. 그랬더니 리스트별로 데이터가 각 30000개일 경우 타임아웃 오류가 났다. 제한이 1000ms인데 1700ms인가.. (머쓱..) 투포인터 알고리즘을 이용한다면 시간복잡도가 O(n+m)이 되게 된다. 이 방법으로 타임아웃 에러를 해결할 수 있었다. 이중 for문 import java.util.ArrayList; import java.util.Scann..
-
[Java] 함수형 인터페이스와 람다💻Programming/Java 2024. 2. 23. 17:10
함수형 인터페이스란? 추상 메서드를 딱 1개만 가지고 있는 인터페이스. SAM(Single Abstract Interface) 인터페이스라고도 한다. @FunctionalInterface를 이용하여 표현한다. @FunctionalInterface public interface RunSomething { void doIt(); } 자바 8이상부터는 abstract를 명시해주지 않아도 자동으로 추상 메서드로 간주된다. 만약 @FunctionalInterface어노테이션을 붙이고 추상 메서드를 두개 이상 추가했을 경우에 오류가 발생한다. static 메서드가 있던, default 메서드가 있던 추상 메서드가 한개인 인터페이스는 무조건 "함수형 인터페이스"이다. 함수형 인터페이스를 어떻게 사용하는 가? Java..
-
Docker compose로 redis 띄우기카테고리 없음 2024. 2. 16. 19:25
redis를 위한 볼륨 생성 docker volume create redis redis image pull docker pull redis redis 볼륨 생성한 것 MountPoint 확인 docker volume inspect redis /var/lib/volumes/redis/redis.conf 작성 bind 0.0.0.0# 배포 서버라면 보안상으로 좋지 않아서 빼줘야함 port 6379 appendonly yes appendfilename "appendonly.aof" requirepass 비밀번호지정 appendonly는 compose up을 다시 하여도 데이터가 영구 저장되도록 하기 위해 docker-compose.yml 작성 name: name version: '3' services: red..
-
[MySQL/Error] unhandled exception: 'ascii' codec can't decode byte 0xe3 in position 63: ordinal not in range(128)💻Programming/Database 2024. 2. 8. 19:04
csv 파일을 데이터베이스에 넣어주려고하는데 utf-8로 변환해주었는데도 불구하고 자꾸 위와같은 오류가 나서 open /Applications/MySQLWorkbench.app 이와같이 터미널에서 앱을 열고, 해주었더니 오류가 해결되었다,,, 아니 이렇게쉬울일이냐고,, 몇시간이나 찾았는데.. 분명 utf-8인데도 자꾸 오류가나서 사실 이유는 모르겠다.
-
Docker compose를 이용하여 GCP VM에 MySQL 서버 구축하기카테고리 없음 2024. 2. 6. 19:56
현재 구글에서 주최하는 솔루션챌린지에 참여중인데, 크레딧을 준다고했는데 5달러주고,, 그냥 크레딧 받기 전에 내 계정에서 CloudSQL 사용하고있었는데 하루에 9000원씩 나가던데 5달러가지고뭘하라고!!! 하루 컷하고도 부족한 금액.. 첨에 들었을때 잘못들은줄,,, 근데 Compute Engine은 그나마 비용이 엄청나게 덜하길래 스프링부트 배포하고 있는 서버에서 원래 docker compose 를 사용했어서 컨테이너 하나를 더 만들어주려고한다. 이 글은 이미 서버에 docker와 docker compose가 설치되어있다는 가정하에 작성하는 것이다. 우선 서버 터미널에 접속하여 mysql image 를 pull 받는다. 나는 8.0 버전을 사용할 것이라서 docker pull mysql:8.0 와같이 ..