코테 공부/java 썸네일형 리스트형 Java -Binary Search Tree 구현 까맣게 잊어버린 자바 복습 멤버 변수 노드 클래스 입력 데이터를 담을 수 있는 data 노드를 왼쪽에 저장할 수 있는 Node 타입의 left 노드를 오른쪽에 저장할 수 있는 Node 타입의 right 이진 탐색 트리 클래스 트리구조를 이루는 Node타입의 root 메서드 insert(value): 입력받은 value를 Binary Search에 맞게 Tree에 계층적으로 추가할 수 있어야 합니다. contains(value): 트리에 포함된 데이터를 찾을 수 있어야 합니다. preorder(root, depth, list): 전위 순회를 통해 트리의 모든 요소를 정렬하여 ArrayList 타입으로 반환합니다. inorder(root, depth, list): 중위 순회를 통해 트리의 모든 요소를 정렬하.. 더보기 제네릭은 primitive 타입 지원 X, int[] to Integer[], Integer[] to int[] https://school.programmers.co.kr/learn/courses/30/lessons/181894?language=java 프로그래머스 2의 영역 문제를 풀다가 contains 메서드를 쓰고 싶었는데 결과값이 예상대로 나오지 않아 print 찍어보고 다른거 매개변수로 넣어보고 똥꼬쇼를 하다가 찾았다 Arrays.asList(array).contains(value); Arrays.asList(int[])는 안된다 There's no such thing as a List in Java - generics don't support primitives. 제네릭은 primitive 타입을 지원하지 않는다. List은 되도 List는 안되는 것 분명 아는 개념이라 생각했는데 막상 짤때 생각이 안나.. 더보기 string to char[] (Char Array) string 참고링크 getChars() 문자열을 문자(char) 배열로 복사 문자열이름.getChars(시작 인덱스(포함), 끝 인덱스(미포함), 복사 받을 char 배열명, 복사 시작 인덱스) String str = new String("APPLE"); char [] ch = new char[3]; // (시작 인덱스(포함), 끝 인덱스(미포함), 복사 받을 char 배열명, 복사 시작 인덱스) str.getChars(0, 2, ch, 0); System.out.println(ch); // APnull //char [] ch = new char[2]; 이면 AP 출력 string 사용 참고 링크 https://yeolco.tistory.com/30 더보기 문자열 비교 (동일 여부 equals(), compareTo(), startsWith(), endsWith()) + 정렬 링크 .equals() //str1.equals(str2) System.out.println("str1.equals(str2) : " + str1.equals(str2)); 리턴 값 true/false 대소문자를 구분하지 않고 알파벳이 같은지만 보려면 equalsIgnoreCase() str1이 null이라면 NullPointerException이 발생, 인자로 전달되는 객체는 null이라도 NullPointerException가 발생하지 않는다. 이런 NullPointerException이 발생하는 것을 신경쓰고 싶지 않다면 //Objects.equals(str1, str2) System.out.println("str1 == str2 ? " + Objects.equals(str1, str2)); 주의 ==는.. 더보기 IntStream, mapToObj 활용하여 접미사 배열 반환 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a" 인자 my_string의 모든 접미사를 사전순으로 정렬한 문자열 배열을 return 내 코드 for문 돌린 것 import java.util.*; class Solution { public String[] solution(String my_string) { String[] answer = new String[my_string.length( )]; for (int i = 0; i < my_string.length(); i++) { answer[i] = my_string.substring(i, my_string.length()); } Arrays.sort(answer); return a.. 더보기 StringBuilder 많은 문자열을 연결하면 많은 중간 문자열 객체가 생성되어 비효율적이다. String 객체는 변경 불가능하여 한 번 생성되면 내용을 바꿀 수 없다. 따라서 하나의 문자열을 다른 문자열과 연결하면 새 문자열이 생성되고, 이전 문자열은 가비지 컬렉터로. StringBuilder는 변경 가능한 문자열을 만들어 주기 때문에, String을 합치는 작업 시 하나의 대안이 된다. public static void main(String[] args) { StringBuilder strBuilder = new StringBuilder(); strBuilder.append("문자열 ").append("연결"); // String str = stringBuilder; String에 StringBuilder 그대로 할당 불가.. 더보기 list이름.toArray(배열 객체) List 의 toArray() 메서드 List 컨테이너의 인스턴스를 배열(array)로 만드는것이 'toArray' 메서드 List strList = new ArrayList(); strList.add("a"); strList.add("b"); strList.add("c"); String[] strArray = strList.toArray(new String[0]); 위에서 String 배열 인스턴스를 파라미터로 size를 '0'으로. -strList를 toArray 메서드의 인자로 넘어가는 배열 객체의 size만큼의 배열로 전환 -strList의 size가 인자로 넘어가는 배열 객체의 size보다 클때, 해당 List의 size로, strList size가 인자로 넘어가는 배열객체의 size보다 작을때.. 더보기 주사위 네개 결과에 따른 다른 점수 반환 이 또한 노가다 경우의 수 나누어서 통과했다 자괴감 느껴져.. 그나마 메서드 만들어서 해보자! 하고 수정한 코드가 아랜데 근데 메서드가 private 일 필요도 static 일 필요도 없었다. import java.lang.Math; import java.util.*; class Solution { public int solution(int a, int b, int c, int d) { int answer = 0; int[] intArr = new int[]{a,b,c,d}; if (a == b && b == c && c == d) { return a * 1111; } else if (a == b && b == c) { return threeSame(a, b, c, d); } else if (a == b.. 더보기 이전 1 2 3 4 다음