분류 전체보기

https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 다음 문제를 푸는 방식은 다음과 같다. 다음 예제처럼 수열이 존재할 때 왼쪽부터 수를 비교하여 연속되는 수의 합의 모든 경우의 수를 dp 라는 배열 안에 삽입한 뒤 dp 배열 중 최댓값을 찾으면 된다. 10 > -4 이기 때문에 두 수를 더한 6을 dp[1]에 저장 10+(-4) > 3 이기 때문에 세 개의 수를 더한 9를 dp[2]에 저장 10+(-4)+3 > 1 이기 때문에 네 개의 수를 더한 10을 d..
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 이 문제는 각 층마다의 최솟값을 구하여 더하는 게 아니라 모든 경로의 경우의 수를 구하여 그 값 중 최솟값을 찾아야한다. 결과적으로 마지막에 RGB 중 R을 선택하는 경우, G를 선택하는 경우, B를 선택하는 경우 중 가장 최솟값을 찾아야한다. https://st-lab.tistory.com/128 다음 블로그를 참고하여 쉽게 이해할 수 있었다. [백준] 1149번 : RGB..
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 이 문제도 시간초과 문제 때문에 bufferedReader와 bufferedWriter을 사용하였다. 코드 import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRead..
https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 다음 피보나치 문제는 풀이는 되지만 시간초과 때문에 애를 많이 먹었던 것 같다. 그리하여 Scanner 대신 BufferedReader 와 BufferedWriter를 사용하였다.(시간 면에서 다음과 같은 차이를 보인다.) 입력 방식 수행시간(초) java.util.Scanner 6.068 java.io.BufferedReader 0.934 count_0은 0의 갯수, count_1은 1의 갯수를 나타낸다. 코드 import java.io.*; import java.util.*; public ..
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 이 문제 또한 특정 패턴이 있다. 먼저 N은 3보다 크거나 같기 때문에 1,2 는 제외하고 보면 4와 7의 경우는 3과 5로 만들 수 없기 때문에 -1로 고정한다. if(N==4||N==7) { System.out.println(-1); } 그리고 5로 나누어 떨어지는 수는 5로 나눈 값을 출력하고 있다. 따라서 다음 코드와 같다. else if(N%5==0) { System.out.println(N/5);..
공부 기록장
'분류 전체보기' 카테고리의 글 목록 (17 Page)