프로그래밍 104

[프로그래머스] 프린터 Lv. 2

https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 원리 1. queue를 이용해서 index와 value를 저장한다. 2. 우선 순위를 정렬 하기위해서, 아래 3개의 알고리즘을 이용한다. sort(p.begin(), p.end(), less()); priority_queue pq; *max_element(priorities.begin(), priorities.end()); 3. queue에 들어있는 첫번째 값과 , 정렬된 첫번째 값을 비용하..

[프로그래머스] 기능개발 Lv. 2

https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 풀이 원리 두개의 stack을 사용하여 값을 비교 후 한쪽 값이 만족하면 다른쪽 값을 빼낸다. 내가 잘 모르는것 1. stack 사용법 std::stack stack; stack.push("data"); // 넣기 stack.pop(); // 빼기 stack.top(); // top 확인 stack.bottom(); // bottom 확인 stack.em..

[프로그래머스] 베스트앨범 Lv. 3

문제 https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 풀이 원리 장르를 unordered_map으로 분리 후 장르별 데이터를 vector을 이용하여 value , index 쌍으로 관리하는 것이 핵심 보인은 아래 구조체를 map에 넣어 value, index로 관리 typedef struct info{ string name; int count = 0; std::vector v; } info; 알아야할 코딩 ..

[프로그래머스] 위장 (해시 Lv. 2)

https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 1. 풀이 원리 1) map으로 옷에대한 count를 구한, 이때 옷을 입지 않는 경우를 계산하여 + 1 한다. 2) map을 순회 하면서 count를 모두 곱한다. 3) 옷을 모두 입지 않는 경우를 제외하기 위해서 -1 한다. 2. 알면 좋은 수학 지식 - 인수분해 3. 알야할 코딩 지식 1) map 종류 : map, unordered_map (1) map - 구현 방식 : Red-black tree https://ko.wikipedia.org/wiki/%EB%A0%88%EB%93%9C-%EB%B8%94%EB%9E%99_%ED%8A%B8%EB%A..

[코테 준비] 문제별 알아야 할 개념과 함수

홀짝 1. 문제 푸는 원리 숫자를 2로 나눈 몫이 0이면 짝수임을 응용, 단 0은 예외 처리가 필요함. #include #include using namespace std; string solution(int num) { string answer = ""; if (num == 0) answer = "Even"; else if (num % 2 == 0) { answer = "Even"; } else { answer = "Odd"; } return answer; } 문자열 재배치 문제 1. 문제 푸는 원리 string -> vector로 변환 -> vector sorting -> 합치기 2. 사용된 코드 1) std::vector (1) 헤더 #include (2) 함수 push_back() 2) sort ..

tcpreplay-edit 사용법 정리

개요 tcpreplay-edit 사용법을 정리 합니다. tcpreplay-edit 란? pcap파일을 변조하여 다시 쏘기 위한 툴 입니다. 설치 #sudo apt-get install tcpreplay 사용법 사이트 https://tcpreplay.appneta.com/wiki/tcpreplay-edit-man.html IP 변조 tcpreplay-edit -i ens192 --srcipmap=1.1.1.1:2.2.2.2 --dstipmap=3.3.3.3:4.4.4.4 test.pcap --srcipmap="pcap에 사용된 src ip":"공격쏘는 장비 IP로 변경" --dstipmap="pcap에 사용된 dst ip":"Host IPS가 설치된 장비 IP로 변경" Port 변조 tcpreplay-ed..

[webpack] 기본 설정

목표 webpack이 무엇인지 알아 봅니다. 최소 설정으로 Webpack을 구현해 봅니다. Webpack이란? 개발시 생성된 여러 javascritp파일 css, 파일 sass 파일, image 파일들은 각각의 대표 파일로 모아서 만들어주는 용도입니다. webpack 설치 1. npm init-y 로 패키지 파일 하나 만들기 - package.jons파일 생김 2. 개발자 모드로 webpack 과 webpack cli 설치 $npm i -D webpack webpack-cli 3. 정상 설치 확인 - package.json 파일 내용중 . devDependencies 에 webpack과, webpack-cli가 설치 됨을 확인 "devDependencies": { "webpack": "^5.72.0", ..

[linux] date iso 8601 형식 time 구하기

개요 리눅스 8601 형식을 구하는 방법에 대하여 알아 봅니다. 지원 OS 범위 fedora core 4까지 지원 확인 구하는 방식 1. local time #date --iso-8601=seconds or iso-8601 를 지원하지 않을 경우 #date -u +"%Y-%m-%dT%H:%M:%S.000Z" 2. gmt time #TZ=gmt date --iso-8601=seconds or iso-8601 를 지원하지 않을 경우 #TZ=GMT date -u +"%Y-%m-%dT%H:%M:%S.000Z" 2. nanoseconds time 1) 9차리 표시 - %N 사용 2) 앞에 3자리 표시 - %3N * fedora core 4에서는 000000123 으로 나옴