코딩/알아보기

😉 아이디어1. _!n!_이 홀수일 때는 생성불가 _!return 0!_ 짝수만 고려2. _!n = 2인 경우 신규 패턴 3개 생성!_, _!n = 4인 경우 이후 2개씩 생성!_3. _!f(10) = f(8) * 3 + f(6) * 2 + f(4) + f(2) * 2 + 2!_😉 풀이def solution(n): answer = 0 if n == 1 : return 0 MOD = 1_000_000_007 arr = [0] * (n + 10) arr[2] = 3 arr[4] = 11 for i in range(6, n + 10): if i % 2 == 1: continue ..
알고리즘 공부하게 되면 순열과 조합은 마주할 수 밖에 없는 개념이다. 분명 중고교 시절 배웠던 내용이지만, 막상 코드로 구현해보고자 하면 쉽지 않다. ✅ 순열 순열은 순서가 영향있는 경우의 수 집합 개념이다. 음식을 주문하는 순서가 좋은 예시이다. 예를 들어, 아메리카노와 스무디를 주문하는 경우, (아메리카노 - 스무디), (스무디 - 아메리카노)로 경우의 수는 두 가지이다. 🔍 코드로 알아보기 /* * @Param numbers 뽑기 대상 * @Param output 뽑힌 숫자들 * @Param visited 뽑힌 숫자를 기록 * @param depth 뽑고있는 깊이 * @Param picks 뽑는 개수 */ public static void perm(int[] numbers, int[] output,..
🔍 직렬화란? 객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해 송수신 가능하게끔 하는 것을 의미한다. 예를 들어, 우리가 사용하는 IDE를 종료하고 새로 키더라도 편집하던 화면과 위치를 그대로 보존하고 있는데, 이것은 우리의 사용정보를 '직렬화'해 PC 어딘가에 저장해놓고 있다가 사용자가 IDE를 실행한 시점에 사용정보를 불러오기 때문이다. 사용자의 브라우저와 서버 간의 데이터를 통신할 때 자주 사용하는 JSON도 직렬화의 한 형태인 것이다. 자바는 자바 객체를 직렬화 하는 기능을 보유하고 있다. 직렬화된 파일이나 데이터는 다른 자바 기반의 시스템에서 불러와 그대로 객체로 활용할 수 있는 큰 이점이 있다. 🔍 코드로 알아보기 import java.io.Serializable; public..
thisisdj
'코딩/알아보기' 카테고리의 글 목록