반응형
- [프로그래머스] 스택/큐 - 기능 개발(파이썬 문제풀이) 문제 링크 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 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
- [ 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
- [ PyQt5 ] Qt Designer로 ui 파일 만들기, 연결하기 / 버튼과 함수 연결하기 Qt Designer? PyQt로 GUI 프로그래밍을 할 때 쉽게 레이아웃을 편집할 수 있도록 도와주는 편집기. 아나콘다를 설치하면 PyQt5와 함께 자동으로 설치됨 Qt Designer 없이 파이썬 코드만으로도 GUI 프로그래밍이 가능하긴함 1. Qt Designer 실행 - Anaconda Prompt 열기 - designer 입력 2. ui 파일 생성 - Main Window 선택 후 [ 생성(R) ] - 좌측 위젯 상자에서 [ Push Button ] 을 MainWindow로 드래그 앤 드롭 * 원하는 위젯을 좌측 위젯 상자에서 윈도우창에 드래그 앤 드롭으로 위젯을 추가할 수 있다. - [ PushButton ] 선택 후 우측 속성 편집기 -> objectName 변경 -> [ testBtn ] .. 2020.06.22
- [ 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
- [ Putty ] 연결 계속 유지시키기(Server unexpectedly closed network connection 해결) # Putty로 원격으로 접속하여 작업을 걸어 놓을 때 "Server unexpectedly closed network connection" 알림창을 띄우면서 접속이 끊어지곤 한다. 1. Putty 열기 > 좌측 메뉴 > Connection 2. Seconds between keepalives 수정 * 여기서 설정한 숫자만큼 초 단위로 패킷을 보내 세션을 유지시킨다. 2020.04.22
반응형