생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q1000/Q9095.java n이 주어질 때, 1과 2와 3을 이용해서 n을 만들 수 있는 경우의 수를 출력하여라. 더하는 순서에 따라 다른 가지수로 인정한다. 예를들어 1+2와 2+1은 다른 가지수이다. n의 최대값은 11까지 주어진다. 처음 생각이전에는 재귀를 통한 DFS 완전 탐색을 통해 문제를 풀었었다. [백준] 9095번 1, 2, 3 더하기 이번에는 풀고보니 DP로 푼걸로 봐서 이전 보다는 풀이 접근이 좋아진것 같다는 생각이 든다.▶ 이전에 풀었던 완전탐색의 경우는 N의 크기가 커질경우 스택 초과 에러나 시간 초과를 받을 수도 있지만 DP는 O(N)으로 접근이 가능하기 ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q1000/Q1463.java 다음 3가지 연산을 이용해서 1로 만들 수 있는 최소의 연산 수를 구하여라. 1) 3으로 나눠 떨어진다면 3으로 나눈다. 2) 2로 나눠 떨어진다면 2로 나눈다. 3) 1을 뺀다. 처음 생각생각나는건 2가지 방법이였다. BFS를 이용해서 3개의 연산을 차례로 진행해 나가면서 1로 만들어졌을 때 카운트 변수를 출력하는 방법과 다이나믹 프로그래밍을 이용해서 값을 찾는 방법이였다.▶ 문제 분류가 DP로 되어있으므로 DP 식으로 풀어보았다. 다음 생각생각을 단순히 하면서 접근을 해보자. 1로 만들수 있는 최소 연산 수를 구하는 법이다. Bottom Up 과 T..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q10000/Q16637.java 괄호를 추가하여 식의 최대값을 얻어내라. 괄호 안에는 1개의 연산자만 있을 수 있으며 괄호는 1중으로만 칠 수 있다. 즉, 2중 괄호 이상은 안된다. 연산자의 기호에 상관없이 앞에서부터 연산을 한다. 처음 생각어디서 풍문으로 듣기로는 11월 삼성 SW 역량테스트 A형 문제와 비슷하다고합니다. 다음 생각평범한 식이 주어지면 괄호를 쳐서 최대값이 되도록 만들어야한다. 즉, 식을 계산해 주어야한다.▶ 따라서 숫자와 식을 분리해서 각각의 List에 넣어주었다. ▶ 식은 숫자가 먼저 시작되므로 부호의 i 번째 index는 식의 i+1 번째 index와 연관이..
- Total
- Today
- Yesterday