🖥️ CS 314

백준 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입니..

프로그래머스 디스크 컨트롤러 (C++)

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 문제 요약 1. vector안에 [업무시간, 업무 요청시간]의 배열들이 저장되어있다. 2. 각 업무의 요청부터 종료시간까지 걸린 시간의 평균이 가장 작은 값을 구하라. 예시로 아래와 같은 값들이 들어올 경우, 아래 사진으로 값을 구하면 평균 시간이 더 작은 결과가 나온다. 핵심 포인트 각 작업의 요청부터 종료까지 걸리는 평균 시간을 단축하기 ..

백준 11060번 점프 점프

문제 링크 : https://www.acmicpc.net/problem/11060 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 www.acmicpc.net 문제 요약 1. 재환이는 일직선에 미로의 첫 번째 칸에 적혀있다. 그리고 N번째 칸으로 도착하는 것이 목표다. 2. 일직선 미로의 각 칸에는 숫자가 입력되어있다. 재환이는 N번째 칸에 있을 경우, N번째 칸에 있는 숫자만큼 최대 점프가 가능하다. 3. 예를들어 첫 번째 칸에 2가 적혀있을 경우, 재환이는 1칸을 점프하거나 2칸을 점프할 수 있다. 4. N번째 칸에 도달하기..

백준 2138번 전구와 스위치 (C++)

문제 링크 : https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는(1) 상태와 꺼져 있는 (0) 상태 중 하나의 상태를 가진다. i(1 n; cin >> st; cin >> dt; } 2. 다음은 스위치를 키는 함수들입니다. solve(0)일 경우 첫 번째 전구를 키고 시작하며, solve(1)일 경우, 첫 번째 전구를 키지 않습니다. void lightOn(int idx) { // 1 if (idx > 0) temp[idx - 1] = (temp[idx - 1] == '0') ? '1' : '0'; temp[idx] = (temp[idx] == '0') ? '1' : '0'; if (idx < n -..

LeetCode 567. Permutation in String

The link : https://leetcode.com/problems/permutation-in-string/ Permutation in String - 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 문제 요약 문자열 s2에 s1의 '조합'이 존재하는지 판단하세요. 예를 들어 다음과 다음과 같은 경우엔 s2에 s1이 존재합니다. 핵심 포인트 조합이라는 단어를 들으면 next_permutation 함수가 떠오르지만, 이 문제는 s1의 길이가 최대 10^4까지 ..

LeetCode 42. Trapping Rain Water

The link : https://leetcode.com/problems/trapping-rain-water/ Trapping Rain Water - 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 문제 요약 배열과 배열의 값이 주어졌을때, 배열의 값은 높이를 의미합니다. 위 그림과 같이 빗물이 고일 수 있는 면적을 구하세요. 핵심 포인트 크게 두 가지 유형으로 빗물의 면적을 구할 수 있습니다. (1) 시작지점의 기둥보다 높은 기둥이 존재 한다 (2) 시작지점의 ..

LeetCode 881. Boats to Save People

The link : https://leetcode.com/problems/boats-to-save-people/ Boats to Save People - 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 문제 요약 1. 사람들이 타기 위한 보트의 최소 갯수를 구합니다. 2. 보트 1대 당 최대 중량 limit 이하의 무게만 탑승이 가능합니다. 3. 보트 1대 당 최대 인원 2명까지만 탑승이 가능합니다. 핵심 포인트 보트의 최대 갯수는 사람의 숫자로 정해져있습니다. ..

백준 11048번 이동하기 (C++)

문제 링크 : https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 문제 요약 1. 진수는 미로의 [1,1]에서 [N,M]으로 가려고 합니다. 2. 진수의 이동방향은 진수가 (r,c)에 있다고 가정할때, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있습니다. 3. 미로의 방 중에는 사탕이 놓여진 방이 있습니다. 진수가 최대한으로 가져갈 수 있는 사탕 갯수를 구하세요. 핵심 포인트 이 문제는 BFS로도 풀 수 있지..

백준 17298번 오큰수 (C++)

문제 링크 : https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 요약 1. 어느 한 숫자의 오른쪽에 위치한 숫자 중, 가장 왼쪽에 위치한 큰 숫자가 해당 숫자의 오큰수가 됩니다. 2. 만약 오큰수가 존재하지 않을 경우, 해당 숫자의 오큰수는 -1이 됩니다. 3. 예시는 다음과 같습니다. ex) 3 5 8 -> (각 숫자의 오큰수의 값) : 5 8 -1 핵심 포인트 다음 문장을 순차적으로 이해하여 하나씩 구현하면 됩니다. 스택을 사용하면 쉽게 풀 수 있습니..

백준 17086번 아기 상어 2 (C++)

문제 링크 : https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸의 개수가 한 개 이상인 입력만 주어진다. www.acmicpc.net 문제 요약 1. 안전거리는 어느 칸 하나와 가장 가까운 아기 상어와의 거리입니다. 2. 두 칸 사이의 거리는 8방향(대각선 포함)으로 이동하는 최단거리 입니다. 3. 안전거리가 가장 큰 값을 구하세요. 핵심 포인트 안전거리의 뜻을 잘 이해해야합니다. 빈 칸은 무조건 한 개 이상이 주어지므로, 결국 주어진 모든 빈칸에서 가장 가까운 아기 상어와의 거리(=안..