JAVA/Java Study25 [Java] 조합 Combination 구현하기! 참고한 블로그⬇️ 조합 Combination (Java) 조합연습 문제 조합이란 n 개의 숫자 중에서 r 개의 수를 순서 없이 뽑는 경우를 말합니다.예를 들어 [1, 2, 3] 이란 숫자 배열에서 2개의 수를 순서 없이 뽑으면[1, 2] [1, 3] [2, 3]이렇게 3 개가 나옵니 bcp0109.tistory.com 조합 : n개의 숫자 중에서 r개의 수를 순서 없이 뽑는 경우 e.g. [1, 2, 3] 배열 중 2개의 수를 순서 없이 뽑는 경우 [1, 2], [1, 3], [2, 3] 핵심 내용 배열을 처음부터 끝까지 돌며 현재 인덱스를 선택하는 경우 현재 인덱스를 선택하지 않는 경우 두 가지로 모든 경우를 완전탐색할 것 변수 설명 arr 조합을 뽑아낼 배열 output 조합에 뽑혔는지 체크하는 배열.. 2024. 4. 19. [Java] static은 언제, 어떻게 사용해야 할까? 자바 공부를 하면서 static이 무엇인지는 배웠는데... 도대체 어떤 상황에서는 꼭 사용해야 하고, 어떤 상황에서는 사용하지 말아야 하는지가 궁금해졌다. static static은 고정된, 정적인 이라는 의미이다. static이라는 키워드를 사용해서 static field(정적 필드)와 static method(정적 메소드)를 만들 수 있다. 이 둘을 묶어서 정적 멤버(클래스 멤버)라고 한다. 즉, 객체(인스턴스)에 소속된 멤버가 아닌 클래스에 고정된 멤버라는 뜻이다. 객체를 생성하지 않고도 사용할 수 있는 이유가 바로 static은 객체에 소속된 것이 아니기 때문이다. static에 대해 글을 찾아보니 JVM에 관한 내용이 함께 나오는데, JVM에 대해서는 개념 정도만 알고 있었기 때문에 다시 정리해.. 2024. 2. 16. [Java] 이진 탐색 트리 - 재귀 형태 구현 이진 탐색 트리에 대해 공부하다가, 재귀 형태 구현이 잘 이해되지 않아 정리해본다. import java.util.LinkedList; import java.util.Queue; class BinarySearchTree { Node head; BinarySearchTree(int key) { this.head = new Node(key, null, null); } public Node addNodeRecursive(Node cur, int key) { if (cur == null) { return new Node(key, null, null); } if (key < cur.key) { cur.left = addNodeRecursive(cur.left, key); } else { cur.right = ad.. 2024. 2. 5. [Java] StringTokenizer - split()과의 차이점 StringTokenizer 문자열을 구분자를 이용하여 분리할 때 사용 가능 말 그대로 String(문자열)을 Tokenizer(조각화)한다! 생성자 StringTokenizer st = new StringTokenizer("abc def"); // 띄어쓰기(공백) 기준 StringTokenizer st2 = new StringTokenizer("abc,def", ","); // 구분자 기준 StringTokenizer st3 = new StringTokenizer("abc,def", ",", true); // (or false) 1. 문자열만 이용 띄어쓰기를 기준으로 나눠지게 된다. ex) abc와 def 2. 문자열, 구분자 구분자를 기준으로 나누어진다. ex) abc와 def 3. 문자열, 구분자,.. 2024. 1. 28. [Java] StringJoiner StringJoiner 여러 문자들을 연결할 때 붙일 구분자(delimiter)를 지정 기존에 내가 사용하던 방법 // String + 연산자 사용 String a = "a"; String b = "b"; String c = "c"; String alphabet = a + "-" + b + "-" + "c"; // StringBuffer, StringBuilder StringBuffer sb = new StringBuffer(); sb.append(a); sb.append("-"); sb.append(b); sb.append("-"); sb.append(c); String alphabet = sb.toString(); StringJoiner 사용 StringJoiner sj = new StringJoin.. 2024. 1. 28. [Java] HashMap : value로 key 찾기 keySet() 메서드와 for문 사용 (1:1) keySet() 메서드와 for문을 사용하는 방법은 모든 키를 가져와서 반복문을 실행한다. 키에 매핑된 값과 특정 값이 일치하면 키를 반환한다. 이 방법은 키와 값이 1:1 관계인 경우에만 사용할 수 있다. public static void main(String[] args) { String findKey = ""; Map map = new HashMap(); map.put("John", 34); map.put("Jane", 26); map.put("Billy", null); // 모든 키를 순회합니다. for(String key : map.keySet()) { // 키와 매핑된 값이랑 equals() 메서드에 전달된 값이랑 일치하면 반복문을 종료합니다... 2024. 1. 28. 이전 1 2 3 4 5 다음