공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍 214

[Python] 프로그래머스. 스타 수열 (Level 3)

programmers.co.kr/learn/courses/30/lessons/70130 코딩테스트 연습 - 스타 수열 programmers.co.kr 문제의 조건에 따르면 "스타수열을 생성하기 위한 핵심 공통값"이 반드시 존재해야 한다. {x[0], x[1]} ... {x[2n-2], x[2n-1]} 의 공통원소가 1개 이상이기 위해서는, 각 쌍마다 공통값이 최소 한 개는 있어야 한다는 의미. 따라서, a 배열에 있는 각각의 원소를 기준으로 '해당 원소가 공통값으로 적용되는 스타수열의 길이' 최댓값을 찾아야 한다. 이 때, 각 원소가 a 배열에 몇 번 등장했는지가 중요하다. 배열에 등장한 횟수가 많을수록, 스타 수열의 길이가 길어질 수 있기 때문. 예컨대 입출력 예시 #3을 보면 [0,3,3,0,7,0,..

[Python] 프로그래머스. 내적 (Level 1)

programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr def solution(a, b): return sum([i*j for i, j in zip(a,b)])

IBM Kubernetes Cluster에 SpringBoot Application 구동 실습하기 - 2. deploy

[IBM Clouders - Indigo Blue 포스트] IBM Cloud에서는 신용카드를 등록한 Pay-go 계정이 있으면 무료 Kubernetes Cluster를 생성할 수 있다. 한 개의 클러스터를 생성할 수 있고, 30일이 지나면 자동으로 삭제되기 때문에 과금 염려도 없다. Kubernetes 환경을 가볍게 실습할 수 있는 조건이다. SpringBoot로 생성한 자바 웹 어플리케이션을 Kubernetes Cluster에 구동하는 실습을 해 보았다. DockerFile을 생성한 경로에 Kubernetes에 Deploy하기 위한 yaml파일 Deployment.yaml을 생성한다. apiVersion: apps/v1 kind: Deployment metadata: name: app-h2db labe..

IBM Kubernetes Cluster에 SpringBoot Application 구동 실습하기 - 1. dockerizing and 환경설정

[IBM Clouders - Indigo Blue 포스트] IBM Cloud에서는 신용카드를 등록한 Pay-go 계정이 있으면 무료 Kubernetes Cluster를 생성할 수 있다. 한 개의 클러스터를 생성할 수 있고, 30일이 지나면 자동으로 삭제되기 때문에 과금 염려도 없다. Kubernetes 환경을 가볍게 실습할 수 있는 조건이다. SpringBoot로 생성한 자바 웹 어플리케이션을 Kubernetes Cluster에 구동하는 실습을 해 보았다. 생성한 스프링부트 프로젝트는 www.edwith.org/boostcourse-web/joinLectures/12943 [부스트코스] 웹 프로그래밍 강좌소개 : edwith - 부스트코스 www.edwith.org 에서 확인할 수 있는 실습 예제를 직접..

[Python] LeetCode 56. merge intervals

leetcode.com/problems/merge-intervals/ Merge Intervals - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 겹치는 구간을 병합하는 문제. 파이썬의 리스트 병합문법 중 하나인 " , " 를 배웠다. 이 코드는 아래 책을 참고하였다. 파이썬 알고리즘 인터뷰 국내도서 저자 : 박상길 출판 : 책만 2020.07.15 상세보기

[Python] LeetCode 743. Network Delay Time

leetcode.com/problems/network-delay-time/ Network Delay Time - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 다엑스트라 알고리즘 구현이 주목적인 문제. defaultdict / heapq 자료구조를 활용해 다엑스트라 알고리즘 구현을 해볼 수 있다. 이 코드는 아래의 책을 참고해 작성했다. 파이썬 알고리즘 인터뷰 국내도서 저자 : 박상길 출판 : 책만 2020.07.15 상세보기

Ubuntu 인스턴스에 MySQL 올리기

Ubuntu 16.04에 Mysql 5.7 / 8.0.22를 설치하면서 구글링했던 내용들 정리 Mysql 설치하기 mysql-client : 데이터베이스에 연결하고, CLI로 mysql 명령어를 실행하기 위한 프로그램 mysql-server : 데이터베이스를 host, 관리하기 위한 프로그램. 일반적으로 둘 다 필요한 경우가 많음. sudo apt-get update sudo apt-get install mysql-server mysql-client cf. mysql 버전 8을 설치하고 싶은데, sudo apt-get으로 실행하면 5.7이 설치되는 경우 # 실행중인 mysql 프로세스를 종료한 뒤 sudo apt-get remove --purge mysql* sudo apt-get autoremove s..

Tomcat 서버 구동시 Creation of SecureRandom instance for session ID generation Warning 해결

빈 리눅스 / 우분투 인스턴스에서 Spring Boot 웹 애플리케이션을 runnable Jar파일로 구동할 때 마주한 오류. Exception처럼 프로그램이 종료되는 것도 아니고, 애플리케이션 로직에도 문제는 없지만 서버에 요청을 보냈을 때 응답을 받기까지 매우 오랜 시간이 걸리는 상황이 발생했다. Creation of SecureRandom instance for session ID generation using \[SHA1PRNG\] took \[43,222\] milliseconds. 요청에서 응답까지 43초가 걸렸다. 다른 요청에서는 213초까지 걸리기도 했다. 원인을 분석한 포스트를 여러 개 찾아봤다. https://goni9071.tistory.com/entry/connection-reset..

[Python] LeetCode 78. Subsets

leetcode.com/problems/subsets/ Subsets - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 부분집합을 만들어야 하는 문제에서, permutation / combination 라이브러리는 모든 경우의 수를 iterate 형태로 반환하기 때문에 시간초과가 발생할 수 있었다. 부분집합을 dfs 방식으로 생성하는 기본 문제이자 코드. 아래 코드는 이 책을 참고해서 작성하였다. 파이썬 알고리즘 인터뷰 국내도서 저자 : 박상길 출판 : 책만 2..