🖥️ CS 313

백준 16508번 전공책 (C++)

문제 링크 : https://www.acmicpc.net/problem/16508 16508번: 전공책 곧 졸업을 앞둔 민호는 대학교 생활 동안 구매만 해놓고 한 번도 펴보지 않은 전공책에 먼지가 쌓여 있는 것을 보고는, 이 책들을 어떻게 처리해야 할지 고민 중이다. 열심히 고민한 끝에 민호는 www.acmicpc.net 문제 요약 1. 민호가 만들고자하는 단어인 문자열 T(1 ≤ |T| ≤ 10)가 주어진다. T는 항상 대문자이다. 2. 민호가 가진 전공책의 개수 N과, N개의 전공책 가격 Ci (10,000 ≤ Ci ≤ 100,000), 전공책 제목을 의미하는 문자열 Wi (1 ≤ |Wi| ≤ 50)가 주어진다. Wi는 항상 대문자이다. 3. 민호가 만들고자 하는 문자열을 만들기 위해 사용해야하는 전..

백준 19640번 화장실의 규칙 (C++)

문제 링크 : https://www.acmicpc.net/problem/19640 19640번: 화장실의 규칙 위와 같이 줄을 선 경우를 생각해보자. (x, y) 는 사원의 근무 일수가 x, 화장실이 급한 정도가 y임을 나타낸다. [x, y]는 해당 사원이 데카임을 의미한다. 즉, 위의 그림에서 데카는 3번 사원이다. www.acmicpc.net 문제 요약 1. n명의 사원들이 도착한 순서대로 m개의 줄로 나열된다. 이때 주인공인 데카의 앞에는 k명의 사람들이 있다. (ex : n=6, m=3, k=2일 경우, 데카는 3번째 줄의 첫 번째 순서로 서게된다.) 2. n명의 사원수 만큼 근속일수, 화장실의 급한 정도의 값을 입력 받는다. 3. 다음의 우선순위대로 화장실을 이용하게 된다. 4. 데카의 앞에는 ..

map과 unordered_map, 그리고 map과 value 정렬

map과 unordered_map의 차이 요약 map unordered_map 시간복잡도 O(logN) O(1) 데이터 정렬 레드블랙 트리 (Red-Black Tree) -> 중복허용 X, Key를 기준으로 오름차순 자동정렬 해시테이블 (Hash Table) -> 중복허용 X, 정렬되지 않음 권장하는 사용법 1. 데이터 양이 보다 적을때 권장 2. Key를 이용하여 정렬을 해야할때 권장 대량의 데이터를 저장할때 권장 * 레드블랙트리 : 이진탐색트리의 일종 * 해시테이블 : 키 값을 주소로 사용 map활용 예시 : 사용된 영어 단어들을 1. 빈도순 2. 문자순으로 정렬 예를들어 사용된 단어들이 1. 많이 사용됐을수록, 2. 사전순으로 앞에 올수록 더 앞에 위치하게 정렬을 한다고 가정해보자. map을 사용하..

백준 9935번 문자열 폭발 (C++)

문제 링크 : https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문제 요약 1. 첫 번째 문자열(길이 1이상, 1,000,000이하)과 폭발 문자열(1이상 36이하)이 주어진다. 2. 문자열에 폭발 문자열이 포함되어있을 경우, 해당 폭발 문자열은 폭파되어 사라진다. 3. 폭파 된 뒤 새로 생긴 문자열에서도 폭발 문자열이 생길 수 있다. 4. 폭발 문자열이 문자열에 없을때까지 계속 폭파된다. 핵심 포인트 이 문제는 스택의 개념으로 접..

프로그래머스 위클리 챌린지 7주차 입실 퇴실 (C++)

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/86048 코딩테스트 연습 - 7주차 사회적 거리두기를 위해 회의실에 출입할 때 명부에 이름을 적어야 합니다. 입실과 퇴실이 동시에 이뤄지는 경우는 없으며, 입실 시각과 퇴실 시각은 따로 기록하지 않습니다. 오늘 회의실에는 programmers.co.kr 문제 요약 1. 1번부터 n번까지의 사람들이 있습니다. 2. 1번부터 n번까지의 입실 / 퇴실 시간이 주어집니다. 3. 두 번 이상 입실하는 사람은 없으며, 입실과 퇴실이 동시에 이루어지는 경우도 없습니다. 4. 입실 시각과 퇴실 시각은 따로 기록하지 않습니다. 5. 1번부터 n번까지 각 사람이 반드시 만나게되는 사람의 수가 몇명인지 배열에 담아 출..

백준 1719번 택배 (C++)

문제 링크 : https://www.acmicpc.net/problem/1719 1719번: 택배 명우기업은 2008년부터 택배 사업을 새로이 시작하기로 하였다. 우선 택배 화물을 모아서 처리하는 집하장을 몇 개 마련했지만, 택배 화물이 각 집하장들 사이를 오갈 때 어떤 경로를 거쳐야 하 www.acmicpc.net 문제 요약 1. 두 수 n과 m이 주어집니다. 2. n은 집하장의 개수 (200이하 자연수) 이며, m은 집하장간 경로의 개수 (1000이하 자연수) 입니다. 집하장간 경로의 소요 시간은 모두 1000이하의 자연수 입니다. 3. 1번부터 n번까지, 한 집하장에서 다른 집하장으로 최단 경로로 화물을 이동시키기 위해 가장 먼저 거쳐야 하는 집하장을 출력하세요. 핵심 포인트 우선 다익스트라의 개념..

프로그래머스 n진수 게임 (C++)

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 문제 요약 1. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번쨰 사람은 0, 두 번째 사람은 1, ... 열 번째 사람은 9를 말한다. 2. 10이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉, 열 한번째 사람은 10의 첫 자리인 1, 열 두 번째 사람은 둘째자리인 0을 말한다. 3. 게임의 난이도를 높이기 위해 각 숫자는 n진법..

백준 14938번 서강그라운드 (C++)

문제 링크 : https://www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 문제 요약 1. 첫째줄에 지역의 개수 n (1 c; map[a].push_back({b,c}); map[b].push_back({a,c}); } for(int i=1; i> m >> r; for(int i=1; i> items[i]; for(int i=0; i> a >> b >> c; map[a].push_back({b,c}); map[b].push_back({a,c}); } (2) 1번..

프로그래머스 직업군 추천하기 (C++)

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/84325# 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 문제 요약 (문제 링크에는 각 벡터의 도표와 함께 설명이 디테일하게 나와있으므로, 문제 링크를 통해 자세히 보는 것을 추천합니다.) 1. vector에는 직군별 선호 언어가 나열되어있다. 맨 첫번째 단어는 직군의 명칭이며, 공백을 기준으로 선호 언어가 나열된다. 선호 언어는 5점에서 1점순으로 나열된다. 2. vector languages와 ve..