반응형
- [프로그래머스] 스택/큐 - 기능 개발(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr deque 함수를 통해 큐 자료구조로 문제를 풀이했습니다. 다른 분들이 풀이하신 것은 대부분 각 기능의 개발 시간을 배포 날짜마다 구하는 코드가 많았는데, 저는 큐에 먼저 모든 기능을 개발하는데 걸리는 시간을 입력해두었습니다. 큐에 자료가 없을 때까지 반복문을 이어가며 큐의 제일 첫 번째 항목이 현재 기능의 개발 시간보다 적게 걸리면, 함께 배포할 수 있는 것으로 판단했습니다. 문제 풀이(파이썬) from collections import de.. 2022.03.12
- [Node.js] Express + MySQL로 REST API 만들기 (2) 이번 포스팅에서는 DB 서버와 Express 서버 간 연결하는 코드를 작성하고, 모듈화하여 사용하는 것을 작성해보겠습니다. 준비물 DB 주소 DB 포트 DB 접속 계정 아이디/패스워드 연결할 DB(스키마)명 DB GUI 툴(MySQL Workbench, Sequel Pro 등) DB 드라이버 설치 express와 mysql을 연결하기 위해선 mysql 드라이버가 필요합니다. npm 에서 mysql 이라는 이름의 패키지를 설치하시면 됩니다. > npm i mysql DB 연결 app.js 파일에 아래 코드를 추가하여 DB와 연결하는 객체를 만들어 보도록 하겠습니다. mysql 내의 createConnection 메서드를 이용해 DB 정보를 입력하면 됩니다! // app.js에 추가 const mysql =.. 2021.04.02
- [프로그래머스] 완전탐색 - 모의고사(파이썬 문제풀이) 문제 링크 단순하게 문제 조건대로 구현해서 풀었습니다. repeat 이라는 2차원 배열에 문제에서 제시된 1번, 2번, 3번 학생의 반복 규칙을 넣어두고 chk 라는 함수를 만들어 각 학생별 점수를 확인하도록 했습니다. 학생별 점수를 res 배열에 넣어두고 가장 큰 점수를 구해 res에서 가장 큰 점수의 학생 번호를 answer 리스트에 추가한 뒤 리턴하도록 코드를 작성했습니다. 저는 chk 함수에서 idx == len(tmp) 라는 조건으로 학생의 반복 규칙을 회전하도록 구성했는데, 이 부분을 나머지 연산으로 대체한다면 각 학생별로 chk 함수를 돌릴 필요없이 for 문 한번으로 해결할 수 있겠습니다. 문제 풀이(파이썬) def chk(idx, tmp, answers): score = 0 for i i.. 2021.04.02
- [프로그래머스] 해시 - 베스트앨범(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 딕셔너리 두 개를 사용해 문제를 풀어봤습니다. genre_score : 각 장르별 속한 노래의 총 점수를 저장하는 딕셔너리 chk : 노래의 고유번호를 key 값으로 사용하고, value로 [해당 노래가 속한 장르의 점수, 해당 노래의 개별 점수]를 저장 이제 문제에 제시된 노래 수록 기준에 맞추어 정렬을 하고 추출을 하면 되겠습니다. for문으로 두 딕셔너리의 값을 설정한 뒤 sorted를 이용해 딕셔너리를 정렬했습니다. 먼저 수록 기준 1번을 맞.. 2021.04.02
- [프로그래머스] 해시 - 위장(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 위장 programmers.co.kr 간단한 수학 공식을 이용해 문제를 풀이했습니다. 각 옷의 종류마다 몇 개의 옷을 가지고 있는지 구하고 그 수를 모두 곱하면 그 수들을 조합한 경우의 수가 나오게 됩니다. 하지만 이렇게 계산하면 해당 옷의 종류가 포함되지 않았을 때의 경우의 수가 빠지게 되므로 (해당 옷의 종류 + 1)을 해준 값을 곱해야 원하는 결과가 나옵니다. 또 문제에서 반드시 한 개의 의상을 착용해야한다고 했으므로 모두 안입었을 경우의 수 하나를 최종 값에서 빼주어야 합니다. 다른 분들 코드를 보니 딕셔너리를 사용할 때 분기문으로 해당 키값이 현재 딕셔너리에 포함되어있나 확인하는 코드를 넣었는데, 저는 딕셔너리의 내장 함수 get을 이용하여 따로 분기 처리를 하지 .. 2021.04.01
- [ Network ] TCP/IP 동작 과정(데이터 송수신 과정) TCP/IP를 통해 송신자와 수신자 간 데이터를 주고 받을 때의 동작 과정입니다. 1. Client : Application (HTTP, SMTP, POP3, FTP) 클라이언트로부터 특정 주소로 요청이 들어오면 DNS 상에서 IP주소를 받아온다. 애플리케이션간 데이터를 주고받기 위해 필요한 정보를 HTTP 계층에서 HTTP 메시지를 작성 2. Client : Transport (TCP) HTTP 메시지를 패킷으로 나누고 애플리케이션을 나타내는 번호와 데이터 조합하기 위한 정보를 작성 3. Client : Network (IP) 전송 위치를 확인하며 송수신할 컴퓨터 주소와 불명인 경우 데이터를 파기하는 표시 등을 작성 4. Client : Data Link (Ethernet) 네트워크 종류에 맞춘 형식으.. 2021.03.15
- [ VM Ware ] 가상머신, 이미지 복사 / 복제 (Pro 버전 Clone 기능, Clone 기능 없이 복사하기 Clone을 통한 복사 * pro 버전은 clone 기능을 제공 1. VM Ware 열기 > VM > Manage > Clone 2. 다음 3. 다음 4. VM을 독립적으로 운영하기 위해선 full clone이 필요(원본만큼 HDD 용량 필요) > 선택 후 다음 5. VM 이름 / 경로 설정 디렉터리 자체를 복사(pro 버전이 아닌경우) 1. 복사할 가상머신 탭으로 이동 후 > Edit virtual machine settings 2. Options 탭으로 이동 > 우측에 Working directory 경로로 이동 => 해당 경로 가상머신이 있는 디렉터리이다. 3. 위 경로 디렉터리 복사 + 붙여넣기 4. VM웨어 상단 탭 > File > Open 5. 복붙한 경로의 VM 파일 열기 6. 가상머신 실행.. 2020.06.22
- [ CentOS ] Rsync 패스워드 없이 접속하기 Rsync Public Key? rsync는 ssh 프로토콜을 기반으로 많이 사용하는데 ssh는 보통 암호와 공개키 방식을 가장 많이 사용한다. rsync로 원격지에 접속하여 데이터를 동기화하기 위해서는 연결할 때 마다 패스워드를 입력해야한다는 번거로움이 있다. 공개키를 생성하여 원격지에 등록하면 암호입력 없이 원격지로 연결이 가능하다. 스케줄로 작업할 때나 동기화하여 백업 서버로 사용할 경우 등에 사용한다. 필요 패키지 > rsync > openssh-clients * 보통 기본으로 설치된다. 없으면 yum으로 설치! 1. RSA 알고리즘으로 키 생성 => 명령어 입력 후 [ Enter ] 로 넘어간다. (경로와 개인키 지정하는 것이지만 기본값으로 넘어간다.) > ssh-keygen -t rsa 2. .. 2020.04.20
- [ CentOS ] Rsync를 이용한 파일 가져오기/복사/동기화(Rsync 옵션 정리) Rsync? Remote Synchronization의 약자로 로컬 또는 원격지의 데이터를 동기화(가져오기)위한 유틸리티이자 프로토콜. 파일과 디렉터리를 가져올 수 있어(동기화) 백업 / 미러링 용도로 사용할 수 있다. (링크, 소유자, 권한 등 부가정보도 함께 복사가 가능하다.) 데이터를 압축해서 이동하고 변경된 파일만 복사하기 때문에 빠르고 효율적이다. => I/O 소모 최소화 lsyncd : 데몬으로 작동하며 변경점을 바로 반영하는 유틸리티 * rsync는 보통 CentOS에 기본으로 설치됨 => 없는경우 yum으로 설치! 기본 사용법 > rsync [option] [ 가져올 파일의 경로 ] [ 가져온 파일을 놓을 경로 ] # 기본 > rsync [option] 접속계정@원격지주소:/경로 [ 가져온.. 2020.04.10
- [ Windows10 ] 윈도우 디펜더 끄기 1. 윈도우 검색 > gpedit.msc 2. 컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > Windows Defender 바이러스 백신 3. [ Windows Defender 바이러스 백신 사용 안 함 ] 파일 열기 > 좌측 상단 사용 후 확인 4. 확인 2020.03.24
반응형