목록mail (3)
코드 한 줄
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 정수 n이 주어지면, n개의 여는 괄호 "("와 n개의 닫는 괄호 ")"로 만들 수 있는 괄호 조합을 모두 구하라. 예제} Input : 1 Output : ["()"] Input : 2 Output : ["(())", "()()"] Input : 3 Output : ["((()))", "(())()", "()(())", "()()()"] 주로 조합을 구하거나 답의 양이 많을 경우는 재귀함수를 사용하면 된다. empty string 부터 시작하여 "("를 더하고 재귀함수를 부르고, ")"를 더하고 재귀함수를 부르면 된다. 여기서 중요한 건, 현재 몇 개의 여는 괄호를 사용 하였는지와 몇 개의 닫는 괄호를 사용 하였는지 알아야 한다. 괄호 조합을 왼..
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 우선 피보나치란, 0과 1로 시작하며 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다. 이때, 주어지는 정수 n보다 작은 피보나치 수 중 모든 짝수의 합을 구하라. 예제} Input : n = 12 Output : 10 // 0, 1, 2, 3, 5, 8 중 짝수인 2 + 8 = 10 이 문제는 n보다 클 때까지 피보나치의 수를 구하며 짝수인 피보나치 수를 다 더해주면 된다. int evenFibSum(int N) { int sum = 0; int x = 1; int y = 2; while (x
* 본 문제와 풀이의 저작권은 매일프로그래밍에 있습니다. 정수 배열(int array)가 주어지면 가장 큰 이어지는 원소들의 합을 구하시오. 단, 시간복잡도는 O(n). 예제} Input : [-1, 3, -1, 5] Output : 7 // 3 + (-1) + 5 Input : [-5, -3, -1] Output : -1 // -1 Input : [2, 4, -2, -3, 8] Output : 9 // 2 + 4 + (-2) + (-3) + 8 이 문제는 두 개의 정수 변수로 현재의 합(currentSum)과 전체의 제일 큰 합(maxSum)을 저장해야 합니다. 각 원소마다 (currentSum + 원소) 값을 원소 값이랑 비교하고, 더 큰 값이 currentSum이 됩니다. maxSum은 curren..