🖥️ CS 313

백준 5972번 택배 배송 (C++)

문제 링크 : https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 문제 요약 1. 현서는 헛간 1에 있고 찬홍이는 헛간 N에 있습니다. 2.각 헛간에는 소가 있습니다. 3. m개의 횟수만큼 a에서 b로가서 마주치는 소에게 주어야할 여물 c가 주어집니다. 4. 현서가 찬홍이에게 가기 위해 사용해야하는 최소한의 여물의 비용을 구하세요. 핵심 포인트 다익스트라를 활용해서 쉽게 풀 수 있는 문제입니다. 여물의 비용을 결국 최단거리 비용으로 생각하면 됩니다. 문제 ..

백준 22251번 빌런 호석 (C++)

문제 링크 : https://www.acmicpc.net/problem/22251 22251번: 빌런 호석 LED를 2개까지 바꿀 수 있을 때, 5층에서 3층, 6층, 8층, 그리고 9층으로 바꿔버릴 수 있다. www.acmicpc.net 문제 요약 1. 빌딩의 엘리베이터는 1층부터 N층까지 이용가능합니다. 2. 현재 층은 X층입니다. 3. 엘리베이터에서는 K자리수로 층이 보여집니다. (ex : K=4, X=1 -> 0001) 4. 호석이는 엘리베이터 디스플레이 중에서 최소 1개, 최대 P개를 반전시켜 층을 혼선시킬 예정입니다. 디스플레이를 반전시켜도 1이상 N이하의 층만 표시가 가능하빈다. 5. 현재 층 X에서 호석이가 반전시켜 나타낼 수 있는 층의 갯수를 구하세요. 핵심 포인트 호석이는 최대 P개의 ..

백준 17615번 볼 모으기 (C++)

문제 링크 : https://www.acmicpc.net/problem/17615 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주 www.acmicpc.net 문제 요약 1. N개의 공이 일렬로 주어집니다. 각 공의 색은 'R' 또는 'B'입니다. 2. 한 번에 한 개의 공을 선택하여 원하는 위치에 삽입할 수 있습니다. 단, 첫 번째로 선택한 공의 색과 동일한 색의 공만 선택하여 이동할 수 있습니다. 3. 최소 이동횟수로 'R'과 'B'공을 같은색끼리 모을 수 있도록 하세요. 핵심 포인트 N의 값이 최대 500..

백준 2493번 탑 (C++)

문제 링크 : https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 문제 요약 1. N개의 탑의 높이가 1열로 주어집니다. 2. 각각의 탑은 자신의 왼쪽에 위치한 탑 중 자신보다 높은 탑에게 신호를 전달할 수 있습니다. 3. 각각의 탑이 신호를 전달할 수 있는 탑의 위치를 출력하세요. 신호를 전달할 수 있는 탑이 존재하지 않을 경우 0을 출력하세요. 핵심 포인트 N의 값이 최대 500,000이 주어지므로, 무턱대로 2중 for문을 사용했다가 시간초..

백준 1446번 지름길 (C++)

문제 링크 : https://www.acmicpc.net/problem/1446 1446번: 지름길 첫째 줄에 지름길의 개수 N과 고속도로의 길이 D가 주어진다. N은 12 이하이고, D는 10,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 지름길의 시작 위치, 도착 위치, 지름길의 길이가 주 www.acmicpc.net 문제 요약 1. 세준이는 0에서 D킬로미터 길이의 고속도로를 지나 학교를 간다. 2. N개의 지름길 정보가 주어진다. 3. 세준이가 학교에 가기 위해 운전해야 하는 거리의 최솟값을 구해라. 4. 단, 모든 길은 일방통행이고 고속도로를 역주행할 수는 없다. 핵심 포인트 이 문제에서 주의해야할 점은 문제 요약의 4번입니다. 모든 길은 일방통행이고 고속도로를 역주행할 수는 없다..

백준 2234번 성곽 (C++)

문제 링크 : https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 n, m이 주어진다. 다음 m개의 줄에는 n개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net 문제 요약 1. m*n사이즈의 배열에 성곽에 대한 정보가 주어집니다. 2. 성곽[i][j]에는 해당 위치에 대한 벽의 정보가 주어집니다. 서쪽에 벽이 있을때는 1, 북쪽은 2, 동쪽은 4, 남쪽은 8입니다. 또한 성곽[i][j]는 최소 0, 최대 15의 값을 가집니다. 3. 이 성에 있는 방의 개수, 가장 넓은 방의 넓이, 하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크..

백준 2467번 용액 (C++)

문제 링크 : https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 문제 요약 1. -1,000,000,000 부터 1,000,000,000 까지의 특성값을 지닌 산성 용액 / 알칼리성 용액이 N개 주어집니다. 2. 특성값은 알칼리성(음수)부터 산성(양수)까지 오름차순으로 주어집니다. 3. 서로 다른 두 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들어내는 두 용액을 찾아 입력하세요. 4. 답이 여러가지 일 경우 아무 답이나 출력하세세요..

프로그래머스 거리두기 확인하기 (C++)

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 문제 요약 1. places에 5개의 대기실이 순서대로 저장되어있으며, 각 ..

LeetCode 475. Heaters (C++)

The link : https://leetcode.com/problems/heaters/ Heaters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 요약 집들의 위치가 적힌 houses배열과 히터들의 위치가 적인 heaters 배열이 있습니다. 모든 집들을 따듯하게 만들기 위한 heater의 최소 반지름을 구하세요. 하나의 반지름은 모든 heaters에게 적용됩니다. 핵심 포인트 집과 배열의 최대 길이는 3만이므로, 무턱대고 for문을 남발하다가는 시..

백준 10942번 팰린드롬? (C++)

문제 링크 : https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 문제 요약 1. 팰린드롬(Palindrome)은 '회문'입니다. 예를들어 '스위스', '11011'처럼 뒤집어도 의미가 똑같은 단어를 뜻합니다. 2. 수열 n의 크기, 수열 n을 입력 받은 뒤, 테스트 케이스 m과 m개의 테스트 케이스를 입력받으세요. 3. 각 테이트 케이스가 회문이면 1을, 그렇지 않을 경우 0을 출력하세요. 핵심 포인트 수열의 크기는 최대 2,000이며 테스트 케이스의 최대 크기는 1,000,000입니..