https://www.acmicpc.net/problem/1038 코드언뜻 보면 쉬운 문제 같으나.... 완전 탐색으로 푸니까 시간 초과가 발생한다.알고리즘 분류로 브루트포스, 백트래킹이 적혀 있으므로 이를 이용해서 해결해야 한다.import java.io.*;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Main { static List list = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new In..
https://www.acmicpc.net/problem/2304처음으로 제출했을 때 오답처리가 되었다. 그 이유는 왼쪽 x좌표 -> 오른쪽 x좌표로만 고려를 했기 때문이다. 이 문제는 왼쪽 -> 오른쪽 탐색, 오른쪽 -> 왼쪽 탐색 두 번을 수행해야 한다. 물론 여기서 끝에서 끝까지 탐색하는 것이 아닌, 중간 인덱스를 찾아야 한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.StringTokenizer;public cl..
https://www.acmicpc.net/problem/1251 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net Java와 달리 C++은 substr()에서 두 번째 인자가 몇 개를 가져올 지를 의미한다. Java : [0,2): 0번 인덱스부터 1번 인덱스까지의 문자열을 가져온다. C++ : [0,2) : 0번 인덱스부터 2개의 문자열을 가져온다. #include using namespace std; int main() { string str; getline(cin, str); vector v; int n ..
https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 가능한 모든 경우의 수를 확인한다. #include using namespace std; void init(bool *arr) { for (int i = 123; i n; bool arr[1000]; init(arr); for (int i = 0; i > num >> strike >> ball; for (int s = 123; s