Problem Solving/백준 64

[백준 BOJ] 1152번_단어의 개수

https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net getline(cin, str)을 사용해볼 수 있는 문제였다. "Hello world"와 같은 입력을 받는 경우 cin>>str을 하면 str에는 Hello 까지만 담기게 된다. getline의 경우 공백을 포함하여 입력을 받기 때문에 공백이 있는 문자열 처리에 사용하기 좋다. [문제 해결 방법] 공백의 아스키 코드값인 32를 확인하여 단어의 개수..

알고리즘 문제풀이(Java) - 백준 1149번 (RGB 거리)

다음은 소스코드 이다. 12345678910111213141516171819public class DP_RGB_Street_1149 { public static void main(String[] args) { int R = 0, G = 1, B =2; // 빨 , 파, 초 순서 Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 집의 수 : 반복 횟수 int[][]arr = new int[n][3]; // 집을 칠할때 드는 비용. 맨 마지막 칸은 최종합 arr[0][R] = sc.nextInt(); arr[0][G] = sc.nextInt(); arr[0][B] = sc.nextInt(); for(int i=1; i

알고리즘 문제풀이(Java) - 백준 9095번(1, 2, 3 더하기)

백준 온라인 저지 9095번(Java) 출처 : https://www.acmicpc.net/problem/9095 동적계획법(DP)를 연습하기위해 기초 문제를 풀어보았다. 재귀를 활용한 동적계획법으로 풀기 위해서 두 가지 관점으로 접근해보았다. 첫번째, 전체 문제를 부분 문제로 나눌 수 있을까? 두번째 , 재귀 함수를 이용하기 위해 규칙을 찾고 이를 통해 점화식을 구할 수 있을까? 노트에 끄적끄적이다보니 어느정도 실마리를 찾을 수 있었다. 예를들어 n = 4일 경우 1+1+1+11+1+2 1+2+1 2+1+12+21+3 3+1 의 총 7가지이다. 또 n = 5일 경우 1+1+1+1+1 1+1+1+2 1+1+2+1 1+2+1+1 2+1+1+11+1+3 1+3+1 3+1+12+2+1 2+1+2 1+2+2의 ..

알고리즘 문제풀이(Java) - 백준 9012번(괄호검사)

백준 9012번 괄호검사 소괄호만을 이용하여 괄호검사를 하기 때문에 비교적 쉬운 문제에 속한다.1. 문제 조건 분석먼저 첫 줄에 들어오는 숫자가 만큼 괄호를 반복해서 입력받는다. 입력받은 괄호 문자열이 올바른 괄호의 구성이면 YES, 그렇지 않으면 NO를 출력한다. 2. 변수 선언num : 첫 줄에서 입력받은 숫자. num 길이 만큼의 배열이 생성ps 배열 : 입력받은 숫자만큼 괄호를 담을 배열ps 배열은 다음과 같이 생성된다.(())()) (((()())() (()())((())) ((()()(()))(((())))() ()()()()(()()())() (()((())()( ans 배열 : YES 또는 NO를 담을 배열. ps배열을 괄호검사 하여 ps[0]이 올바른 괄호이면 ans[0]에 YES 입력 ..