[Programmers/C++] [PCCE 기출문제] 5번 / 심폐소생술
·
🐸 Problem Solving/Programmers
빈킨 채우기 문제입니다.   문제심폐소생술은 다음과 같은 순서를 통해 실시합니다.심정지 및 무호흡 확인 [check]도움 및 119 신고 요청 [call]가슴압박 30회 시행 [pressure]인공호흡 2회 시행 [respiration]가슴압박, 인공호흡 반복 [repeat]주어진 solution 함수는 심폐소생술을 하는 방법의 순서가 담긴 문자열들이 무작위 순서로 담긴 리스트 cpr이 주어질 때 각각의 방법이 몇 번째 단계인지 순서대로 담아 return하는 함수입니다. solution 함수가 올바르게 작동하도록 빈칸을 채워 solution 함수를 완성해 주세요.      입출력 예시     풀이 #include #include using namespace std;vector solution(vector..
[BOJ/C++] 백준 2178번: 미로 탐색
·
🐸 Problem Solving/BOJ
🔗 문제 링크 : https://www.acmicpc.net/problem/2178  문제N×M크기의 배열로 표현되는 미로가 있다.미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.      입출력 예시입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 ..
[Programmers/C++] [PCCE 기출문제] 4번 / 병과분류
·
🐸 Problem Solving/Programmers
빈칸 채우기 문제입니다.   문제퓨쳐종합병원에서는 접수한 환자가 진료받을 병과에 따라 자동으로 환자 코드를 부여해 주는 프로그램이 있습니다. 환자 코드의 마지막 네 글자를 보면 환자가 어디 병과에서 진료를 받아야 할지 알 수 있습니다. 예를 들어 환자의 코드가 "_eye"로 끝난다면 안과를, "head"로 끝난다면 신경외과 진료를 보게 됩니다. 환자 코드의 마지막 글자에 따른 병과 분류 기준은 다음과 같습니다.환자의 코드를 나타내는 문자열 code를 입력받아 위 표에 맞는 병과를 출력하도록 빈칸을 채워 코드를 완성해 주세요. 위 표의 단어로 끝나지 않는다면 "direct recommendation"를 출력합니다.    입출력 예시     풀이 #include using namespace std;int m..
[Programmers/C++] [PCCE 기출문제] 3번 / 수 나누기
·
🐸 Problem Solving/Programmers
이미 완성된 코드에서 버그를 찾아 수정하는 디버깅 문제입니다.   문제2자리 이상의 정수 number가 주어집니다. 주어진 코드는 이 수를 2자리씩 자른 뒤, 자른 수를 모두 더해서 그 합을 출력하는 코드입니다. 코드가 올바르게 작동하도록 한 줄을 수정해 주세요.    입출력 예시     풀이 #include using namespace std;int main(void) { int number; cin >> number; int answer = 0; while (number > 1) { // 📌 answer += number % 100; number /= 100; } cout
[Programmers/C++] [PCCE 기출문제] 2번 / 각도 합치기
·
🐸 Problem Solving/Programmers
이미 완성된 코드에서 버그를 찾아 수정하는 디버깅 문제입니다.   문제일반적으로 두 선분이 이루는 각도는 한 바퀴를 360도로 하여 표현합니다. 따라서 각도에 360의 배수를 더하거나 빼더라도 같은 각을 의미합니다. 예를 들면, 30도와 390도는 같은 각도입니다. 주어진 코드는 각도를 나타내는 두 정수 angle1과 angle2가 주어질 때, 이 두 각의 합을 0도 이상 360도 미만으로 출력하는 코드입니다. 코드가 올바르게 작동하도록 한 줄을 수정해 주세요.      입출력 예시     풀이 #include using namespace std;int main(void) { int angle1; int angle2; cin >> angle1 >> angle2; int sum..
[Programmers/C++] [PCCE 기출문제] 1번 / 문자 출력
·
🐸 Problem Solving/Programmers
빈칸 채우기 문제입니다.     문제주어진 코드는 변수에 데이터를 저장하고 출력하는 코드입니다. 아래와 같이 출력되도록 빈칸을 채워 코드를 완성해 주세요.      입출력 예시     풀이 #include using namespace std;int main(void) { string message = "Let's go!"; cout
[Programmers/C++] [PCCP 기출문제] 1번 / 동영상 재생기
·
🐸 Problem Solving/Programmers
문제당신은 동영상 재생기를 만들고 있습니다. 당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다. 각 기능이 수행하는 작업은 다음과 같습니다.10초 전으로 이동: 사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동: 사용자가 "next" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 후로 이동합니다. 동영상의 남은 시간이 10초 미만일 경우 영상의 마지막 위치로 이동합니다. 영상의 마지막 위치는 동영상의 길이와 같습니다.오프닝 건너뛰기: 현재 재생 위치가 오프닝 구간(..
[BOJ/C++] 백준 9663번: N-Queen
·
🐸 Problem Solving/BOJ
🔗 문제 링크 : https://www.acmicpc.net/problem/9663  문제N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.     입출력 예시입력첫째 줄에 N이 주어진다. (1 ≤ N   출력첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다.       풀이 여덟 퀸 문제를 일반화한 퍼즐 문제인, N-Queen 문제이다.백트래킹 기법으로 해결하는 게 일반적이므로 백트래킹을 익히는데 도움이 된다. Queen 은 상하, 좌우, 대각선까지 공격이 가능한 말이다.위 특징(특히 좌우 공격)을 이용하여, 첫 번째 퀸은 체스판의 첫 번째 줄, 두 번째 퀸..
[BOJ/C++] 백준 1753번: 최단경로
·
🐸 Problem Solving/BOJ
🔗 문제 링크 : https://www.acmicpc.net/problem/1753  문제방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다.     입출력 예시입력첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 1..
[BOJ/C++] 백준 10828번: 스택
·
🐸 Problem Solving/BOJ
🔗 문제 링크 : https://www.acmicpc.net/problem/10828  문제정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.     입출력 예시입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 ..