본문 바로가기

전체 글108

도커(Docker)로 MySQL 서버 구축하기 나는 현재 'Stock' 이라는 이름의 주식지갑 프로젝트를 진행하고있다. 내가 맡은 역할 중 하나가 인프라 구축인데 도커를 사용하여 구축했다. 그래서 오늘은 내가 했던 docker로 mysql 서버 구축하는 것을 설명해보려고 한다. MySQL 서버 구축하기 컨테이너 생성하기 docker run --name stock -e MYSQL_ROOT_PASSWORD=1111 -d -p 3306:3306 mysql:8.0.25 --name : 컨테이너 이름 설정 -e : 컨테이너 환경변수 설정 -e MYSQL_ROOT_PASSWORD={userpassword} : 비밀번호 설정 -d : Detached 모드로 컨테이너가 백그라운드로 실행된다. -p : 호스트에 연결된 컨테이너의 특정포트를 외부에 노출시킨다. [ho.. 2021. 6. 24.
[백준(baekjoon)] (Greedy 알고리즘) 설탕배달 알고리즘 문제 풀이 / 백준 (baekjoon) - 설탕배달 문제 링크 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 풀이 5kg 으로 나누어지는 최대부터 구한다. 백준 문제를 처음 풀어보았다. 클래스부터 직접 작성해야했고, 입력예제도 직접 받아야 한다는 점에서 프로그래머스보다 불편했다. 하지만 많은 문제들이 있어 풀어보려고 오늘 처음 시도해보았다. 수 많은 문제들 중 무엇부터 풀어야하나 고민하다 알고리즘 별로 풀어나가려고 해서 Greedy 부터 .. 2021. 6. 22.
[Programmers/Lv2] 주식가격 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 주식가격 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 문제 풀이 이번에는 예전에 풀었던 문제를 가져왔다. 내가 알고리즘을 아예 몰랐을 때 푼 문제로 간단하게 풀 수 있는 문제다. public int[] solution(int[] prices) { int[] answer = new int[pr.. 2021. 6. 21.
[프로그래머스(programmers)] (2020카카오 인턴십) 키패드 누르기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 키패드 누르기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 풀이 키패드 위치의 좌표를 배열로 만든다. 거리가 더 가까운 손의 좌표를 갱신해준다. 2,5,8,0 번은 왼손과 오른손 중 가까운 손으로 눌러야 하므로 좌표를.. 2021. 6. 19.
검색(탐색) 알고리즘 이란 무엇인가? ▏목적 ◦ 검색 알고리즘 이해하기 ▏시작하는 말 알고리즘 공부를 하기 위하여 프로그래머스 Lv 2문제들을 꾸준히 하루에 한 문제씩 풀어나가는 중이다. 나는 알고리즘을 따로 배워본 적 없이 JAVA의 기초 지식만 있었기 때문에 1 / 3 정도 풀고 나니 남은 문제들은 구현은 해도 효율성이 좋지 않거나 손쉽게 풀 수 없는 문제들만 남았다. 때문에 나는 제대로 된 알고리즘 개념부터 공부해야겠다는 생각을 했다. 그래서 오늘부터 알고리즘 하나씩 공부한 후 이 블로그에 정리해보려고 한다. 오늘 공부한 것은 검색알고리즘으로 선형 검색과 이진 검색이다. ▏정의 선형 검색 : 무작위로 늘어놓은 데이터 집합 일 때 적절한 검색 알고리즘 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 집합 일 때 적절한 검색 알고리즘 해시법.. 2021. 6. 18.
[프로그래머스(programmers)] (Summer/Winter Coding 2018) 영어 끝말잇기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 영어 끝말잇기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co... 2021. 6. 17.
[Programmers/Lv4] 없어진 기록 - MySQL 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 없어진 기록 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 풀이 보호소에 들어온 기억은 없어야 하므로 animal_ins 에 animal_id 가 null 인 것을 조건으로 하고, join 을 사용하여 차집합을 구한다... 2021. 6. 16.
[프로그래머스(programmers)] (Lv2) 피보나치 수 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 피보나치 수 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12945 문제 풀이 BigInteger 를 사용하는것이 핵심이다. 피보나치 수 를 구현하는 것은 문제 설명대로 풀면 되는거라 중간에 걸릴 것 없이 너무 쉽게 풀었다. 그래서 이게 Lv2라는 것이 의심될 정도로 금방 풀었는데, 테스트케이스 중간쯤 부터 오류가 났다. 왜 오류일까 생각해보니 int 의 한계란 생각이 들었다. 그래서 long 으로 다 변환을 해줬는데 그럼에도 오류가 났다. 그래서 System.out 으로 풀이 과정을 찍어보았는데 고작 n = 888 이기만 해도 long 범위를 한참 초과해서 음수값으로 바뀌는 현상이 .. 2021. 6. 13.
[프로그래머스(programmers)] (Lv2) 행렬의 곱셈 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 행렬의 곱셈 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr 문제 풀이 내가 고등학생 일 때, 교육과정에서 행렬이 빠졌었기 때문에 행렬이 있었다는 말만 들어봤지 행렬 개념 조차 몰랐다. 그래도 문제에서 설명해주겠지 라는 마음에 문제를 들어갔는데 행렬에 대한 설명은 없었다. 행렬의 결과를 완성하는 함수를 작성해달라는 지문.. 2021. 6. 12.
[프로그래머스(programmers)] (Lv2) JadenCase 문자열 만들기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - JadenCas 문자열 만들기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12951 문제 풀이 처음 모든 문자들을 소문자로 변환한다. 첫 글자이거나, " "(공백) 있는 다음 글자를 대문자로 변환한다. 처음 풀었을 땐, char배열에 넣어서 첫글자이거나 공백다음은 대문자로, 아닌것들은 소문자로 바꾸는 식으로 풀었었다. 이렇게 했더니 12점을 받았다. 그러고 나서 다른 사람들의 코드를 보는데 애초에 첫 줄에서 모든 문자열을 소문자로 변환한 후, 해당 조건시에만 대문자로 바꾸는 방법도 있어서 그렇게 다시 풀어보았다. 그리고 다시 푸는 김에 이번엔 char 배열에 넣는것이 아니라 .spl.. 2021. 6. 10.
[프로그래머스(programmers)] (Lv4) 보호소에서 중성화한 동물 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 보호소에서 중성화한 동물 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59045 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 풀이 JOIN 을 사용하여 두 테이블의 조건이 충족된 중복된 것을 구한다. 여러가지 프로젝트를 만들면서 나도 모르게 SQL문에 익숙해져 있던.. 2021. 6. 5.
[프로그래머스(programmers)] (2020 카카오 인턴십) 수식 최대화 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 수식 최대화 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67257?language=java 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 문제 풀이 숫자, 연산자들을 배열에 각각 나누어 넣는다. 재귀함수를 활용하여 순열로 연산자 우선순위를 구한다. Math.abs() 를 사용하여 절대값 구한다. 이번 문제는 내가 여태까지 푼 문제중 가장 오래 걸렸다. 총 2일이 걸렸는데 첫날에는 코드.. 2021. 6. 4.
반응형