목록분류 전체보기 (370)
GitHubSeob

문제 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 문제풀이 값을 string으로 바꾸어 맨앞부터 시작하여 6이 연속으로 3번 있는지 확인을 한다. 있다면 cnt+=1을 하여 개수를 더한다. 없다면 string형인 값을 int형으로 바꾸고 +1을 한 뒤 다시 string형으로 변환한다. 개수가 N이 되었다면 값을 출력한다. 코드 #include #include using namespace std; int main() { ios::sync_w..

문제 https://www.acmicpc.net/problem/5582 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 문제풀이 두 포인터 알고리즘을 이용하였다. 변수로 시작 지점(s)과 끝 지점(e)을 두고, 첫 번째 문자열에 대해 s인덱스부터 e인덱스까지 문자를 더해 새로운 문자열을 만든다. 그다음 해당 문자열이 두 번째 문자열에 있는지 find함수를 이용하여 구한다. 있다면 e를 +1 하고, 문자열에 e인덱스를 더해 새로운 문자열을 만든다. 없다면 s를 +1 하고, 문자열에 맨 앞을 erase..

다운로드 링크 https://drive.google.com/file/d/16uAH7FuNVR21DVNgzJBqnMgYbDYV-rFn/view?usp=sharing RacingGame.zip drive.google.com 게임 - 비히클 모드를 기반으로 제작했다. 블루프린트로 모든 코드를 작성했다. 화면은 총 다섯 가지로 구성했다. 차량 에셋은 마켓플레이스에 있는 무료 차량을 적용했다. 1. 메인 메뉴 exe파일을 실행하면 뜨는 화면. Play버튼을 누르면 게임 화면으로 넘어간다. Option버튼을 누르면 옵션 화면으로 넘어간다. 2. 옵션 메뉴 키를 바꿀 수 있는 화면이다. 원하는 기능을 누르고 바꾸고 싶은 키를 누르면 키가 추가가 된다. 3. 게임 화면 맵은 하나로 구성하였고 간단한 원형 서킷이다. 시..

문제 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제풀이 https://www.acmicpc.net/problem/16496 백준에 있는 문제와 똑같다. int형으로 들어온 숫자들을 새 벡터에 string형으로 변환하여 push 해준다. 그다음 sort를 compare함수 대로 정렬한다. compare함수는 string a와 string b..

문제 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 문제풀이 스택을 이용하여 풀었다. stack 를 이용하여 first에는 주식가격을, second에는 인덱스 값을 입력한다. 스택에는 현재 탐색하고 있는 주식가격 이하인 가격들만 들어있어야 한다. 따라서 탐색하고 있는 주식가격 보다 큰 가격들이 있으면 반복문을 통해 모두 pop을 한다. pop을 하면서 인덱스 차이를 ..

문제 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제풀이 deque와 pair를 이용해서 풀었다. deque는 priorities와 몇 번째 인덱스인지 값을 넣어준다. deque({priorities, idx}) value라는 벡터를 만들어 오름차순으로 정렬하여 모든 작업의 중요도를 저장하도록 한다. count는 몇 번째 작업인지, value_f는 deque.front().first의 값을, value_s는..

문제 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 문제풀이 한 번호가 다른 번호의 맨 앞에 있는 경우가 있는지를 확인하는 문제이다. 전화번호 목록을 크기 순으로 정렬하고, unordered_set을 이용하였다. 전화번호를 맨 앞부터 한 자리씩 str에 더한다. 전화번호가 저장된 unordered_set에서 str이 있는지 확인하고 있다면 바로 false를 return 한다. 끝까지 가도 없으면 현재 전..

문제 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제풀이 DFS를 이용하여 모든 경우의 수를 탐색한다. num이 끝 수이면 더 이상 할 연산이 없으므로 목푯값인 target과 같은지를 확인하고, 같다면 answer의 개수를 1 늘린다. num이 끝 수가 아닐 때 다음 숫자를 +하는 경우의 수, 다음 숫자를 -하는 경우의 수를 확인한다. 코드 #incl..

문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제풀이 큐 두 개를 선언한다. 하나는 요세푸스 큐, 다른 하나는 답을 내는 용인 answer 큐를 만든다. 먼저 큐에 모든 사람을 집어넣는다. while문을 이용해서 answer에 모든 사람을 집어넣을 때까지 반복을 한다. 현재 사람이 몇 번째인지 세기 위한 count변수를 하나 선언하고, 1부터 시작하여 K가 될 때까지 증가시킨다. 증가시키면서 요세푸스 큐의 첫 번째 값을 다시 요세푸스 큐에 push 하고 pop을 한다. 그렇게 되면 첫 번째 값을 꺼내 다시 큐 끝에 붙여 넣는 ..