전체 글52 [알고리즘 문제해결 전략] 재귀함수 재귀 함수를 만들 key point를 `알고리즘 문제해결 전략`을 보고 정리해보려고 한다. 원자성 : 더이상 쪼개지지 않는 성질 재귀함수에서는 원자성을 갖는 작업들을 가리켜 기저사례(base case)라고 한다. 1부터 n까지의 합을 계산하는 반복 함수를 생각해보자 더보기 n*(n-1)*(n-2)*...*1 이 식은 n개의 숫자들로 이뤄져있다. 여기서 원자성은 무엇일까? 1이다. n=1인 case와 그 외 case로 나눠서 코드로 생각해보면 일단 n != 1부터 int recursiveSum(int n) { return n + recursiveSum(n-1); } 이것을 생각할 수 있다. n=1일때 이 식을 사용하면 갯수는 양수이어야 하므로 문제가 생긴다. 그래서 base case를 나눠 다시 코드를 생.. 2023. 6. 9. [Programmers] 카펫 class Solution { public int[] solution(int brown, int yellow) { int[] answer = new int[2]; int sum = brown + yellow; for (int height = 3; height 2023. 6. 7. [BOJ]14889 스타트와 링크 풀지는 못했지만 그 동안의 한 것들을 적어 보았다.. ㄱㅡ import java.util.Scanner; public class Main { // 빈 배열 선언 private int[][] array; // 팀 만들기 public void makeTeam(int n) { // array 초기화 this.array = new int[n][n]; for (int i = 0; i 20 || n%2 == 1) break; if(i == j) { array[i][j] = 0; System.out.printf("%d ", array[i][j]); } else { // 1부터 100까지의 수 array[i][j] .. 2023. 6. 3. [Programmers] 최소직사각형 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 풀이 import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Solution { public int solution(int[][] sizes) { List minL = new ArrayList(); List maxL = new ArrayList(); for (int i = 0; .. 2023. 6. 3. 이전 1 ··· 10 11 12 13 다음