반응형
- [프로그래머스] 스택/큐 - 기능 개발(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 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
- [ 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
- [ 자료구조 ] 배열(Array) vs 리스트(List) - 특징, 차이 배열(Array) 데이터가 많아지고 그룹 관리의 필요에 따라 배열을 사용한다. 고정된 크기를 갖는 같은 자료형의 원소들이 연속적인(논리적 저장 순서와 물리적 저장 순서가 일치) 형태로 구성된 자료구조 인덱스에 따라 값을 유지하므로 원소가 삭제되어도 빈자리가 남게되어 메모리가 낭비된다. 처음 크기를 10으로 지정한다면 5개의 데이터만 저장하더라도 실제 배열의 크기는 10이다. 인덱스(index) : 각 원소의 번호로 0번부터 시작하며, 해당 원소에 접근한다. 데이터 갯수가 확실하게 정해져 있고, 접근이 빈번한 경우 배열이 효율적이다. cache hit 가능성이 커져 성능에 큰 도움이 된다. cache hit : CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있는 경우 고정이고 연속적인 만큼 인덱스로 r.. 2021.03.15
- [ Testing ] E2E 테스트란?(프레임워크, express e2e test) E2E Test(End To End Test)? Endpoint(종단) 간 테스트로 사용자의 입장에서 사용자가 사용하는 상황을 가정하고 테스트 하는 것 일반적으로 웹이나 어플 등에서 GUI를 통해 시나리오, 기능 테스트 등을 수행한다. 사용자에게 직접적으로 노출되는 부분을 점검한다. 유닛 테스트로 불가능한 사용자 관점의 테스트까지 가능하다. Endpoint 테스트를 통과하면 기능이 잘 작동한다는 것이므로 모든 테스트를 할 수 없다면 E2E Test만이라도 하는 것이 좋다! 백엔드 관점에서 개발한 REST API를 테스트 하기 위해 실제로 서버에 요청을 보낸 뒤 클라이언트에서 원하는 데이터가 전송되는 지 확인해야 한다. 프레임워크 웹 환경에서는 대부분 selenium, testCafe, cypress, n.. 2021.03.13
- [ 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
반응형