2024.07.01기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 최소한의 비용을 지출하여 끊어진 기타줄을 교체하는 문제입니다. 1. 패키지와 낱개의 가격 중 가장 낮은 값을 저장합니다. (어떤 줄을 사든 상관이 없기 때문입니다.)int minPack = Integer.MAX_VALUE; // 패키지 중 가장 낮은 가격int minPiece = Integer.MAX_VALUE; // 낱개 중 가장 낮은 가겨// 패키지와 낱개의 가격 중 가장 낮은 값을 구한다.while (m-- > 0) { st = new StringTokenizer(br.readLine()); int pack = Integer.parseInt(st.nextToken()); // 패키지의 가격 ..
2024.06.30기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 입력 받은 수열중 연속된 수열을 계산하는 문제입니다. 이 문제를 풀때 순서를 유지 해야 된다는걸 발견하지 못해 문제가 있었습니다. 1. 입력 받은 수열을 1부터 시작해 배열에 저장합니다.int[] arr = new int[n + 1];for (int i = 1; i 2. 연속된 수열의 개수를 저장하는 dp배열을 생성합니다.int[] dp = new int[1000001]; // 연속된 수열의 개수를 저장하는 배열 3. 생성된 배열에 들어온 수열의 순서대로 참조하는 인덱스의 바로 뒷 인덱스의 값의 +1를 하여 저장합니다.for (int i = 1; i 4. 그 중 가장 큰 값을 출력해줍니다. 코드packa..
2024.06.29기준 - 실버2 백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 원점에서 바라봤을 때, 보이는 학생의 수를 구하는 문제입니다. 제가 생각하는 문제의 핵심은 기울기는 같아도 앞에 있냐 뒤에 있냐에 따라서 둘 다 보일 수 있다는 거라고 생각합니다. 1. 각 위치별로 저장할 수 있는 리스트를 생성합니다.List u = new LinkedList(); // 위쪽List d = new LinkedList(); // 아래쪽List r = new LinkedList(); // 왼쪽List l = new LinkedList(); // 오른쪽List ul = new LinkedList(); // 위오른쪽List ur = new LinkedList(); // 위왼쪽List dl = new..
2024.06.28기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 문자열을 가지고 조건에 맞춰 조합해 출력하는 문제입니다. 제가 생각하는 문제의 핵심은 뒤에서 1, 2번째 A의 위치를 파악하는 것이라고 생각합니다. 1. A의 인덱스를 저장하는 리스트를 생성했습니다.// A의 인덱스를 저장하는 리스트List aindexs = new LinkedList();for (int i = 0 ; i 2. 만약 A의 개수가 2개 보다 작다면 바로 NO출력하고 종료합니다.// A는 무조건 2개 이상이 필요하지만 2개 미만으로 있을때if (aindexs.size() 3. 2개 이상이라면 AA와 뒤에 들어가 한 자리를 제외하고는 앞에서 조합을 해야되기 때문에 전체 길이에 -3을 해주..