본문 바로가기
반응형

Thinking/Programmers12

[PCCP 기출문제] 1번 / 동영상 재생기 C++ [PCCP 기출문제] 1번 / 동영상 재생기 C++ 문제 설명당신은 동영상 재생기를 만들고 있습니다. 당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다. 각 기능이 수행하는 작업은 다음과 같습니다.  10초 전으로 이동: 사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동: 사용자가 "next" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 후로 이동합니다. 동영상의 남은 시간이 10초 미만일 경우 영상의 마지막 위치로 이동합니다. 영상의 마지막 위치는 동영상의 길이.. 2024. 11. 7.
LV2 PCCP 기출문제 2번 석유 시추 [level2] [PCCP 기출문제] 2번 / 석유 시추  문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 세로길이가 n 가로길이가 m인 격자 모양의 땅 속에서 석유가 발견되었습니다. 석유는 여러 덩어리로 나누어 묻혀있습니다. 당신이 시추관을 수직으로 단 하나만 뚫을 수 있을 때, 가장 많은 석유를 뽑을 수 있는 시추관의 위치를 찾으려고 합니다. 시추관은 열 하나를 관통하는 형태여야 하며, 열과 열 사이에 시추관을 뚫을 수 없습니다.예를 들어 가로가 8, 세로가 5인 격자 모양의 땅 속에 위 그림처럼 석유가 발견되었다고 가정하겠습니다. 상, 하, 좌, 우로 연결된 석유는 하나의 덩어리이며, 석유 덩어리의 크기는 덩어리에 포함된 칸의 수입니다. 그림에서 석유 덩어리의 크기는 .. 2024. 2. 21.
2024 KAKAO WINTER INTERNSHIP 가장 많이 받은 선물 [2024 KAKAO WINTER INTERNSHIP] 가장 많이 받은 선물[level 1] 가장 많이 받은 선물 - 258712문제 링크성능 요약메모리: 4.19 MB, 시간: 1.72 ms구분코딩테스트 연습 > 2024 KAKAO WINTER INTERNSHIP채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 2월 2일 3:10:51문제 설명선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다.두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다.예.. 2024. 2. 20.
LV1 PCCP 기출문제 1번 붕대 감기 - 250137 [level 1] [PCCP 기출문제] 1번 / 붕대 감기 - 250137문제 링크성능 요약메모리: 4.2 MB, 시간: 0.01 ms구분코딩테스트 연습 > PCCP 기출문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 2월 2일 1:14:51문제 설명어떤 게임에는 붕대 감기라는 기술이 있습니다.붕대 감기는 t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복합니다. t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복합니다. 게임 캐릭터에는 최대 체력이 존재해 현재 체력이 최대 체력보다 커지는 것은 불가능합니다.기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소되고, 공격을 당하는 순간에는 체력을 회복할 수 없습니다. 몬스터에게 공격당해 기술이 취소당.. 2024. 2. 20.
프로그래머스 PCCE 기출문제 후기 [프로그래머스] PCCE 기출문제 후기PCCE (프로그래머스 코딩필수역량인증시험)권장대상 : 비전공자, 초/중급 학습자응시과목 : Python, Java, C++ 중 1개 언어 선택하여 평가문항수 : 10문항시험시간 : 50분시험구성 : 빈칸채우기, 디버깅, 코드 작성자격증 유효기간 : (응시일 기준으로) 7년 무료로 제공되는 기출문제 10개를 풀어봤습니다.풀이 시간은 약 60분 ~ 90분 정도 걸린 것 같습니다.  문제 수준은 이전 정보처리 기능사 ~ 산업기사 수준으로 편성되어 있었습니다.프로그래머스 난이도가 0 ~ 1인 만큼 문제의 난이도는 낮지만 직접 코드를 작성하는 것이 아닌 빈칸 채우기, 수정하기 등의 문제로 디버깅 능력을 확인합니다.다른 사람이 작성한 코드를 분석하고 이해하지 못한다면 조금 어.. 2024. 2. 19.
C++ 프로그래머스 Lv5 집합과 쿼리 [C++] 프로그래머스 Lv5 집합과 쿼리 2023년 현대모비스 알고리즘 경진대회 예선 문제이다.본 게시글의 풀이는 58.3점으로 해결하지 못한 문제로 남아있다. 문제 설명정수 0 ~ n-1을 담고 있는 크기가 n인 1차원 정수 배열 a가 있습니다. 배열의 각 원소마다 하나의 집합을 이루고 있습니다. 당신은 여기에 다음 쿼리들을 실행하려고 합니다. [1, x, y] 형태의 쿼리가 주어집니다.y가 포함된 집합의 원소들을 모두 x가 포함된 집합으로 옮깁니다.x와 y가 같은 집합에 속해있다면 해당 쿼리는 실행하지 않습니다.[2, x, y] 형태의 쿼리가 주어집니다.새로운 집합을 생성합니다.x와 y가 포함된 집합에서 x와 같거나 늦게 집합으로 들어왔으면서 y와 같거나 빠르게 집합으로 들어온 원소들을 새로 생성한.. 2023. 9. 22.
C++ 프로그래머스 Lv3 하노이의 탑 [C++] 프로그래머스 Lv3 하노이의 탑 문제 설명하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다. 한 번에 하나의 원판만 옮길 수 있습니다. 큰 원판이 작은 원판 위에 있어서는 안됩니다. 하노이 탑의 세 개의 기둥을 왼쪽 부터 1번, 2번, 3번이라고 하겠습니다. 1번에는 n개의 원판이 있고 이 n개의 원판을 3번 원판으로 최소 횟수로 옮기려고 합니다. 1번 기둥에 있는 원판의 개수 n이 매개변수로.. 2023. 9. 16.
C++ 프로그래머스 Lv1 추억 점수 [C++] 프로그래머스 Lv1 추억 점수 문제 설명사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의 이름이 ["kali", "mari", "don", "tony"]이고 ["kali", "mari", "don"]의 그리움 점수가 각각 [11점, 1점, 55점]]이고, "tony"는 그리움 점수가 없을 때, 이 사진의 추억 점수는 3명의 그리움 점수를 합한 67(11 + 1.. 2023. 9. 15.
C++ 프로그래머스 Lv3 연속 펄스 부분 수열의 합 [C++] 프로그래머스 Lv3 연속 펄스 부분 수열의 합 문제 설명어떤 수열의 연속 부분 수열에 같은 길이의 펄스 수열을 각 원소끼리 곱하여 연속 펄스 부분 수열을 만들려 합니다. 펄스 수열이란 [1, -1, 1, -1 …] 또는 [-1, 1, -1, 1 …] 과 같이 1 또는 -1로 시작하면서 1과 -1이 번갈아 나오는 수열입니다. 예를 들어 수열 [2, 3, -6, 1, 3, -1, 2, 4]의 연속 부분 수열 [3, -6, 1]에 펄스 수열 [1, -1, 1]을 곱하면 연속 펄스 부분수열은 [3, 6, 1]이 됩니다. 또 다른 예시로 연속 부분 수열 [3, -1, 2, 4]에 펄스 수열 [-1, 1, -1, 1]을 곱하면 연속 펄스 부분수열은 [-3, -1, -2, 4]이 됩니다. 정수 수열 seq.. 2023. 9. 15.
C++ 프로그래머스 Lv2 디펜스 게임 [C++] 프로그래머스 Lv2 디펜스 게임문제 설명준호는 요즘 디펜스 게임에 푹 빠져 있습니다. 디펜스 게임은 준호가 보유한 병사 n명으로 연속되는 적의 공격을 순서대로 막는 게임입니다. 디펜스 게임은 다음과 같은 규칙으로 진행됩니다. 준호는 처음에 병사 n명을 가지고 있습니다. 매 라운드마다 enemy[i]마리의 적이 등장합니다. 남은 병사 중 enemy[i]명 만큼 소모하여 enemy[i]마리의 적을 막을 수 있습니다. 예를 들어 남은 병사가 7명이고, 적의 수가 2마리인 경우, 현재 라운드를 막으면 7 - 2 = 5명의 병사가 남습니다. 남은 병사의 수보다 현재 라운드의 적의 수가 더 많으면 게임이 종료됩니다. 게임에는 무적권이라는 스킬이 있으며, 무적권을 사용하면 병사의 소모없이 한 라운드의 공격.. 2023. 9. 15.
C++ 프로그래머스 Lv2 요격 시스템 [C++] 프로그래머스 Lv2 요격 시스템 문제 설명A 나라가 B 나라를 침공하였습니다. B 나라의 대부분의 전략 자원은 아이기스 군사 기지에 집중되어 있기 때문에 A 나라는 B 나라의 아이기스 군사 기지에 융단폭격을 가했습니다. A 나라의 공격에 대항하여 아이기스 군사 기지에서는 무수히 쏟아지는 폭격 미사일들을 요격하려고 합니다. 이곳에는 백발백중을 자랑하는 요격 시스템이 있지만 운용 비용이 상당하기 때문에 미사일을 최소로 사용해서 모든 폭격 미사일을 요격하려 합니다. A 나라와 B 나라가 싸우고 있는 이 세계는 2 차원 공간으로 이루어져 있습니다. A 나라가 발사한 폭격 미사일은 x 축에 평행한 직선 형태의 모양이며 개구간을 나타내는 정수 쌍 (s, e) 형태로 표현됩니다. B 나라는 특정 x 좌표에.. 2023. 9. 15.
C++ 프로그래머스 Lv1 달리기 경주 [C++] 프로그래머스 Lv1 달리기 경주 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solut.. 2023. 9. 15.
반응형