목록2024/05 (29)
쌓고 쌓다
https://school.programmers.co.kr/learn/courses/30/lessons/132266#qna 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 방법최단 거리를 구하는 BFS 문제이다.부대에서 BFS 탐색을 시작하면 된다. 전체 코드import java.util.*;class Solution { class Node { int num; Node(int num) { this.num = num; } } public int[] solu..
docker-compose.yml를 다음과 같이 작성하고 사용하고 있었다... 보면 MYSQL_ROOT_PASSWORD를 작성해야한다.현재 깃허브에 docker-compose.yml도 올리면서 사용하고싶은데 비밀번호를 노출하고싶지 않다. 우연히 다른 코드들을 보았는데 ${}와 같이 따로 값들을 불러들이는 방법이 있다는걸 알았다. 도커 환경 변수 사용 방법은 다음과 같다. docker-compose.yml와 같은 위치에 ".env" 파일을 작성한다. ".env"에는 Key-Value 형식으로 값들을 작성하자. ".env"에서 불러온 값들로 어떤 값들이 채워졌는지는 다음과 같은 명령어로 확인할 수 있다.docker compose config 로컬에서 서버를 동작할때랑서버를 이미지 파일로 만들때 applic..
컨테이너에서 돌아가고 있는 서버에서 남긴 로그 파일들을 호스트에서 보관관리를 하고 싶었다.도커로 MySQL 이미지 파일을 volumes로 마운트를 해봤었다.https://non-stop.tistory.com/721 MySQL 데이터 백업 및 가져오기/Docker MySQL 볼륨 마운트MySQL의 데이터를 백업해보고 그 데이터를 Docker MySQL에 가져와보자. 그리고Docker 컨테이너를 통해 올린 DB 데이터를 Host에서 관리해보자. 먼저 Docker MySQL 볼륨을 마운트해보자.즉, Docker 컨테이너에non-stop.tistory.com 나는 volumes가 디비 관련해서 지원하는 옵션인줄 알았으나사실 도커 컨테이너와 호스트를 마운트하는 원리는 똑같았었다. 도커의 볼륨 설정이 마운트하는 설..
URI, URL 차이가 무엇인지 이번에 확실히 이해해보자. URI, URL, URN?URI는 Uniform Resource Identifier이다.말 그대로 "리소스를 구별 식별하는 통일된 방식"이다. 그러면 URL, URN은 무슨 말일까?URL는 Uniform Resource Locator으로 리소스에 위치를 지정하여 구별하는것URN는 Uniform Resource Name으로 리소스에 이름을 지정하여 구별하는것 그렇다~URL은 위치, URN은 이름으로 리소스를 구별하는 것이다. 그럼 URI는 "리소스를 구분하는 통일된 방식"이니깐 URL, URN을 포함하는 개념일 것이다. 포함하는 개념이 맞다.URI와 URL을 구분하지 않고 불러도 괜찮다.URI는 위치(Locate), 이름(Name) 또는 둘 다로 ..
https://softeer.ai/practice/7727 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 방법친구들의 현재 위치에서 우선 수확을 한다. 친구들 목록을 순회하면서각 친구들을 방문한다. 방문한 친구가 모든 이동을 소진할때까지 4가지 방향으로 이동한다.이때 이동시 방문한 위치에서 열매를 수확한다. (수확시 해당 좌표의 값은 0으로 변환)모든 이동을 소진했다면 다음 친구를 이동시킨다.위의 과정을 반복한다. DFS 문제이다. 전체 코드import java.io.*;import java.util.*;public class Main { static class Pos { int y; int x; public Pos(int y, in..
https://www.acmicpc.net/source/78693009 풀이 방법BFS를 이용한다.노드 방문시X노드부터 방문 노드까지의 거리가 담긴 dis에 담긴 거리가 K와 동일하다면 답에 추가한다. 전체 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] inputs = (reader.readLine()).split(" "); ..
https://www.acmicpc.net/source/78677494풀이 방법[i][j] 위치에서 벽을 부순 상태인지 아닌지를 구분할 수 있게 3차원 배열을 이용해 푼다.[i][j][0] 이라면 i,j 위치에 있을때 이전까지 벽을 한번도 부수지 않은 상태이고[i][j][1] 이라면 i,j 위치에 있을때 이전에 벽을 부순 이력이 있는 상태이다. [i][j][0]에서 다음 좌표에 벽을 만났다면 이 벽을 부술 수 있는 상태이다.[i][j][1]이라면 다음 좌표에 벽이 있다면 이전에 벽을 부순 상태이기 때문이 벽을 부술 수 없다. 위의 3차원 배열을 이용해 BFS를 이용해 푼다. 전체 코드import java.io.*;import java.util.*;public class Main { stati..
https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 방법버스가 도착할때 탑승 가능인원만큼 버스에 탑승한다.사람들을 탑승 시키는 방법은timetable을 오름차순으로 정렬하고탑승 가능한 시각이라면 ( 버스 도착 시각보다 일찍 도착한 사람) 탑승 시킨다. 내가 가장 늦게 버스를 타는 방법은막차 버스에 마지막 여석에 내가 타면 된다. 막차 버스에 대기중인 사람이 없다면막차 버스 도착 시각에 탄다. 막차 버스에 대기중인 사람이 있다면마지막 탑승 사람보다..