본문 바로가기

반응형

Algorithm_BOJ(백준)/완전탐색(Brute Force)

(70)
[백준 10448 c++] 유레카 이론 문제 링크 www.acmicpc.net/problem/10448 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net 문제 접근 // 접근: 3개의 합으로 되는지 아닌지만 구별 -> 3중 반복문으로 완전탐색 // 하지만 4중 반복으로 해야 모든 테스트 케이스를 돌 수 있다. 문제 풀이 // 풀이: 런타임 초과 날까봐 t의 최대값이 1000=i(i+1)/2 를 이용 500 까지만 반복하게 함 주의 개념 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c ..
[백준 2309 c++] 일곱 난쟁이 문제 링크 www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 접근 // 접근: 난쟁이 키의 합 = 100 인 경우는 9명중 두명의 키를 뺀 값 // 접근: 두명의 합의 키를 구하려면 완전탐색 해야함 문제 풀이 // 풀이: 벡터에 저장후 정렬하고 완전탐색으로 100 이되는 경우가 있으면 출력후 중단 주의 개념 // 개념: 합을 일일이 구할 수도 있지만 accumulate(v.begin(), v.end(), 합 초기값); 으로 구할 수 있음 소스코드 #define _..
[백준 2231 c++] 분해합 문제 링크 www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제 접근 // 접근: 최소 생성자의 조건을 생각해보니 99999일때가 최소값이라 생각해보니 문자열 탐색 오버스텍 문제 풀이 // 풀이: 0부터 차례로 완전탐색 하면서 만족하는 값 출력 주의 개념 // 개념: to_string 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #include // c+..
[백준 3085 python파이썬] 사탕 게임 문제 링크 www.acmicpc.net/problem/3085 3085번: 사탕 게임 첫째 줄에 상근이가 먹을 수 있는 사탕의 최대 개수를 출력한다. www.acmicpc.net 문제 접근 // 접근 사탕을 인접을 어떻게 바꾸는지 의미가 애매해서 헤멧지만 가로와 세로끼리만 바꾼다 문제 풀이 // 풀이: 완전탐색으로 가로,세로 교환할 때 각 사탕의 최대개수 중 큰 수를 출력 주의 개념 # 문자열 받을 때 str은 에러 list 로 받아야 원소 스왑 가능 # 스왑 lst[i][j],lst[i][j+1]= lst[i][j+1],lst[i][j] 소스코드 # 문자열 받을 때 str은 에러 list 로 받아야 원소 스왑 가능 n = int(input()) lst = [list(input()) for_ in ran..
[백준 3085 c++] 사탕 게임 문제 링크 www.acmicpc.net/problem/3085 3085번: 사탕 게임 첫째 줄에 상근이가 먹을 수 있는 사탕의 최대 개수를 출력한다. www.acmicpc.net 문제 접근 // 접근 사탕을 인접을 어떻게 바꾸는지 의미가 애매해서 헤멧지만 가로와 세로끼리만 바꾼다 문제 풀이 // 풀이: 완전탐색으로 가로,세로 교환할 때 각 사탕의 최대개수 중 큰 수를 출력 주의 개념 // 개념: swap(board[i][j], board[i][j+1]); string 객체의 원소를 바꿀 수 있다 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #include // c++ 문자열 클래스 #include // 동적배열 라이브러리 #in..
[백준 1107 c++] 리모컨 문제 링크 www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 접근 // 접근: 채널보다 큰수중에 최소차이,채널보다 작은 수 중에 최소차이, 100에서 ++버튼으로 최소차이 // 중 최소값 찾으려 했으나 저건이 넘 많아지 문제 풀이 // 풀이: 그래서 0부터 1000000까지 탐색하며 최소차이이며 고장난 버튼 없는지 검사함 주의 // 주의: 채널과 최소차이는 채널버튼 누르는것 까지 더해야 한다 개념 // 개념: abs() : 절댓값 소스코드..

반응형