반응형
- [프로그래머스] 스택/큐 - 기능 개발(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 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
- [ Raspberry Pi ] 라즈베리파이 초기 설정(한글 사용법, 지역 설정, SSH 설정) [ Raspberry Pi ] 라즈베리파이 3 B+에 라즈비안 OS 설치하기 1. OS 설치 후 첫 부팅 1) Set Country > United Kingdom 2) Change Password > pi 계정의 암호입력 3) 와이파이 설정(업데이트를 위해 잡아야함) 4) 소프트웨어 업데이트 > Next > (완료 후) Restart 라즈베리파이 환경설정 열기 (재부팅 완료 후) 좌측 상단 터미널 열기 $ sudo raspi-config 2. Boot Options 변경 - Boot Options > Desktop/CLI > Desktop 3. 타임존 설정 - Localisation Options > Change Time Zone > Asia > Seoul 4. Locale 설정 - Localisatio.. 2020.09.20
- [ Raspberry Pi ] 라즈베리파이 3 B+에 라즈비안 OS 설치하기 [ Raspberry Pi ] 라즈베리파이 초기 설정(한글 사용법, 지역 설정, SSH 설정) 1. 준비물 (필수) 라즈베리파이 3b+ 5V@3A 8핀 전원 아답터 HDMI 케이블 모니터 키보드 마우스 32GB Micro SD카드 Micro SD카드 리더기 (그 외) 원격 접속 할 PC 또는 노트북 와이파이 브레드보드 센서 모듈 점퍼 케이블 등. . . 2. 필요 소프트웨어 다운로드 1) Etcher for Windows x64 다운로드 > https://www.balena.io/etcher/ 2) 라즈비안 OS 이미지 파일 다운로드(최신버전) > https://www.raspberrypi.org/downloads/ > Raspberry Pi OS (previously called Raspbian) > .. 2020.09.19
- [ 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 ] VMware에서 USB 마운트하기 작업환경 VMware CentOS 7 64bit CLI VMware에 설치된 CentOS 텍스트 모드(CLI) 환경에서 USB를 마운트하여 데이터를 옮기기 1. USB 장치명 확인 USB를 PC에 마운트하면 VMware에 마운트 할 것인지 로컬에 마운트 할 것인지 선택창이 나온다. VMware의 CentOS로 선택하면 화면에 "sd~"로 장치가 마운트된다. * 경로 : /dev/sd~ 2. 마운트할 경로 만들기 mkdir /home/usb 3. 장치 마운트 mount sdb /home/usb 4. 장치 제거 umount [ 마운트한 디렉터리 ] 2020.03.17
- [ 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
반응형