재귀 : 큰 문제를 해결하기 위해 동일한 유형의 더 작은 문제로 나누는 방식재귀함수 : 자기 자신을 호출하여 반복적으로 더 작은 문제를 해결하고 결과적으로 원래 문제를 해결해 감완전탐색, 동적계획법(DP), 그래프 탐색(DFS), .트리 순회와 같은 문제에 활용됨 구성 요소Base Case(기저 조건)더 이상 문제를 쪼갤 수 없거나, 답이 명확해지는 종료조건Base Case 가 없으면 재귀는 무한히 호출됨 → RecursionError 발생Recursive Call(재귀 호출)문제를 더 작은 문제로 나누고 이를 해결하기 위해 자기 자신을 호출함 1. factorial1~n 까지의 정수를 곱한 값public static int factorial(int n) { ..
JDK (Java Development Kit)JRE + 컴파일러(javac) + 개발 도구(javadoc, jshell 등)Java 소프트웨어를 개발하기 위한 도구 JRE (Java Runtime Environment)JVM + 라이브러리 + 제한된 도구개발 오버헤드 없이 실행환경만 제공Java 실행환경 구성과 Java 애플리케이션을 실행할 수 있도록 구성,JRE만 있으면 어느 프로그램이든 실행가능(이식성)컴파일해 생성된 클래스 파일을 JRE에 클래스 로더에서 로드하고, 필수 라이브러리를 결합해 JVM에 올리는 역할 JVM (Java Virtual Machine)애플리케이션 실행 환경스레드 생성, 실행, 스케줄링 담당스레드 간 상호작용 관리동기화 메커니즘 제공자바 가상 머신(Java Virtual Ma..
🔗 할인 행사import java.util.*;class Solution { public int solution(String[] want, int[] number, String[] discount) { // want : 원하는 제품 // number : 원하는 제품의 수량 // discount : 할인 제품 Map map1=new HashMap(); for(int i=0;i map2=new HashMap(); for(int j=i;j
🔗 완주하지 못한 선수import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { // 1. 해시맵 생성 Map map=new HashMap(); // 2. 완주한 선수들의 이름을 해시맵에 저장 for(String s:completion){ map.put(s,map.getOrDefault(s,0)+1); } // 3. 참가한 선수들의 이름을 키로 하는 값을 1씩 감소 for(String s:participant){ // 4. 완주하지 못한 선수를 찾..
문제 설명n개의 양의 정수로 이루어진 배열 arr와 정수 target이 주어졌을 때 이 중에서 합이 target인 두 수가 arr에 있는지 찾고 있으면 true, 없으면 false를 반환하는 solution()함수를 작성하세요. 제약 조건n은 2이상 10,000 이하의 자연수입니다.arr의 각 원소는 1 이상 10,000 이하의 자연수 입니다.arr의 원소 중 중복되는 원소는 없습니다.target은 1이상 20,000 이하의 자연수 입니다. 입출력 예arrtargetreturn[1,2,3,4,8]6true[2,3,5,9]10false 문제 풀이arr에서 임의의 원소 x에 대해 x+k=target이 되는 원소 k가 arr에 있는지 확인하기즉, hash set에 (target-arr원소) 가 있으면 targ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.