본문 바로가기

Algorithm/Brute Force

(118)
(C++) - 백준(BOJ) 14500번 : 테트로미노 답 www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net 완전탐색(brute force)을 구현해보는 문제였습니다. 풀이방법 : 도형의 종류를 구분하고 이 도형을 구성하는 타일 값들의 합 중 최대값이 답입니다. 도형 1. 2가지의 모양들 중 각 모양에 대한 타일들 합 최대값 반환 도형 2. 1가지 모양에 대한 타일들 합 반환 도형 3. 8가지 모양들 중 각 모양에 대한 타일들 합 최대값 반환 도형 4. 4가지 모양들 중 각 모양에 대한 타일들 합 최대값 반환 도형 ..
(C++) - 백준(BOJ) 18111번 : 마인크래프트 답 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 높이를 천천히 낮춰가며 최소시간과 가장 높은 높이를 구하는 구현, brute force 문제였습니다. 풀이방법 : 1. 높이 확인 : 최소 높이는 0 최대 높이는 256까지 loop 2. 채워야할 블록개수 지워야할 블록개수 계산 : if(맵의 한 타일에서 높이 - 정한높이가 양수) => 지워야할 블록 개수 else => 채워야할 블록 개수 3. 높이와 걸린 시간 갱신 if(지울 블록의 개수 + ..
(C++) - 백준(BOJ) 1966번 : 프린터 큐 답 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료�� www.acmicpc.net 우선순위 큐, 큐를 사용하는 완전탐색 문제였습니다. Code : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #include #include using namespace std; int main(void){ int t; cin >> t; w..
(C++) - 백준(BOJ) 1436번 : 영화감독 숌 답 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조 www.acmicpc.net 간단한 완전탐색 문제였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include ..
(C++) - 백준(BOJ) 2309번 : 일곱 난쟁이 Brute Force 문제입니다. #include #include #include using namespace std; //a,b 가짜 난쟁이 int a,b,av,bv, sum, cnt; vector D(10); int main() { for (int i = 1; i > D[i]; } for (int i = 1; i
(C++) - 백준(BOJ) 10988 : 펠린드롬인지 확인하기 https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 간단한 전수조사 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 문자열 w를 선언 후 입력받습니다. 📔 풀이과정 w.size()/2만큼 for loop를 수행합니다. 답을 구합니다. 📔 정답출력 양 옆으로 시작해 점점 좁아지는 형태로 문자를 비교해 한 번이라도 다르면 답이 아니므로 0을 출력합니다. for loop가 끝나면 모든 문자가 같은 것이므로 1을 출력합니다. 📕 Code #include #include using namespace std; in..