목록전체 글 (102)
영호
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77484 접근 방법 rank배열을 만들어 [6, 6, 5, 4, 3, 2, 1]로 순위를 정해놓는다. 주어진 lottos에서 0을 count 한다. 0이 6개인 경우 lottos의 모든 번호를 모르기 때문에 1 ~ 6등 모두 가능하다 -> 최고 순위 : 1등, 최저 순위 : 6등 0이 한 개도 없는 경우 lottos와 win_nums를 정렬한다. lottos와 win_nums를 순회하며 동일한 번호가 경우를 카운트한다. 내가 고른 모든 lottos번호를 알기 때문에 일치하는 개수만큼 최고 순위와 최저 순위를 return 한다. 모르는 0이 1 ~ 5개인 경우 lottos를 내림차순으로 정렬한다. 6 -..
개요 알고리즘에서 유용하게 사용되는 정렬 함수에 대해서 정리를 해보겠습니다 Python에는 sort()와 sorted() 함수가 존재한다. 이제 둘의 차이점과 옵션들에 대해 알아보겠습니다 순서 sort() sorted() parameters - key, reverse lambda 1. sort() sort()는 원본 자체를 정렬시켜 줍니다. sort_list = [1,5,23,5,2343,124] sort_list.sort() print(sort_list) >>> [1, 5, 5, 23, 124, 2343] 위의 코드에서 볼 수 있듯, sort_list자체적으로 정렬이 수행됐습니다. 2. sorted() sorted()는 원본을 변형시키지 않고 새로운 list를 반환합니다. sorted_list = [1..
[TypeORM] 공식문서 보며 TypeORM + MySQL 설정하기 개요 이번 글에서는 공식문서의 Quick start 부분을 따라 하면서 TypeORM의 초기 설정을 해보겠습니다. 순서 cli를 이용해 프로젝트 생성 data-source.ts 수정 data-source.ts대신 ormconfig.json 사용해보기 Installation $ npx typeorm init --name MyProject --database mysql 저는 MySQL을 이용해 MyProject라는 이름의 프로젝트를 생성하겠습니다.**$ typeorm init --name {프로젝트 이름} --database {DB종류}** 프로젝트 구조 ├── README.md ├── package-lock.json ├── package..
[Docker] Docker와 VM(Virtual Machine) 비교 개요 express랑 AWS 공부할 겸 간단한 express api 만들고 AWS ec2로 배포하려는데 자꾸 node 버전 문제로 안햐 npm install에서 자꾸 에러가 발생해 배포에 애를 먹었다. 그래서 해결방안을 찾던 도중 Docker가 생각났고, 왜 요새 Docker나 Kubernetes 플랫폼을 사용하는지 VM(Virtual Machine)과 비교하면서 알아봤다. VM(Virtual Machone)의 구조 호스트 OS위에 애플리케이션 별로 guest OS가 존재한다. 게스트 OS를 구동하려면 필요한 자원을 할당받아야 한다. 호스트 OS위에 VM 띄우고 필요한 자원을 할당하고, 게스트 OS 부팅해서 애플리케이션 실행하는 방식..
트랜잭션(transaction)이란 무엇인가? 트랜잭션이란 데이터베이스의 상태를 변경하기 위한 작업 단위를 의미한다. 데이터베이스의 상태 변경은 (Insert, Delete, Update) 여기서 작업 단위에 대한 간단한 예시를 들어보자면, A가 B에서 만원을 송금하려고 한다. 그렇다면 해당 과정은 정말 간단하게 2가지로 나눠볼 수 있다. A의 계좌에서 만원을 출금된다. B의 계좌로 A계좌에서 출금된 만원이 입금된다. 만약 1번과 2번 사이에서 에러가 발생된다면? A의 계좌에서 빠져나갔지만, 출금된 만원이 B의 계좌에는 입금되지 않고 서비스가 중지될 것이다. 이렇게 되면 A만 만원을 잃게 된다. 이러한 상황을 방지하기 위해 1,2번의 SQL문이 데이터베이스의 상태를 변경할 수 있는 하나의 트랜잭션(작업 ..
[프로그래머스] 2019카카오 BLIND 오픈채팅방 (Python) 문제 설명 - https://programmers.co.kr/learn/courses/30/lessons/42888 나의 풀이 uid : name 형태의 uid_name dictionary생성 record를 순회하며 변경되는 uid : name 최신화 다시 한 번 record를 순회하며 'Enter' or 'Leave'인 경우 uid_name[uid]를 조회해 '~~ 님이 들어왔습니다' or '~~님이 나갔습니다' answer에 append. Code #https://programmers.co.kr/learn/courses/30/lessons/42888 2019 KAKAO BLIND RECRUITMENT def solution(recor..