프로그래밍/코테 10

[코지] const 위치별 사용법

const 위치별 사용법 const의 기능은 상수화 하는 것입니다. 1. 일반 변수 일반 변수선언 시 const는 아래와 같이 2군데 위치에 올 수 있다. 이 경우 const의 위치에 따른 var에 대한 제약은 동일하 효과를 얻는다. 코딩할 때는 1번을 사용하자 1) const int var; 2) int const var; 2. pointer 변수 pointer 변수를 선언할 경우 아래와 같이 3군데에 const가 위치할 수 있다. 그런데 이렇게 되면 const의 상수화 범위가 너무 헷갈리수 있습니다. 그러나 const 원리만 알면 아래의 3가지는 쉽게 구분이 가능합니다. 원리는 const는 바로 뒤에 위치한 것만 상수화 합니다. 상수화 하는 부분은 보라색으로 표기하겠습니다. 1) const int* ..

[프로그래머스] 소수 찾기Level 2

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 1. 완전 탐색 알고리즘 기법 중 하나인 bitmask 기법을 알아야한다. 2. 순열을 구하는 알고리즘을 알아야한다. - C++에는 순열을 구하는 next_permutation 함수가 존재한다. 4. 소수 판별 법을 알아야 한다. 3. 문자열 연산은 느리다. 숫자 연산을 최대한 한다. 코드 #include #include #include #include #include #include ..

[프로그래머스] 프린터 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]-완주하지 못한 선수

문제 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "..