본문 바로가기

전체 글

(403)
[java] Comparable, Comparator TreeSet의 객체 TreeMap의 키는 저장과 동시에 자동 오름차순으로 정렬된다. 숫자 타입(Integer, Double): 숫자 값으로 정렬 문자 타입(String): 유니코드 정렬 System.out.println(Arrays.toString(str));// [3, 30, 9] Arrays.sort(str, new Comparator() { @Override public int compare(String o1, String o2) { // 3, 30 --> 303 vs 330 : -1 리턴 System.out.println("compare:: "+o1+" "+o2);//compare:: 30 3 // compare:: 9 30 System.out.println((o2+o1).compareTo(o1..
[java] Array, List, Set, Map Array 1) 배열 생성시 크기 결정됨 ->, 크기 고정, 불특정 다수 객체 저장 문제 2) 객체 삭제시 해당 인덱스가 비게 된다. 듬성듬성 옥수수 인터페이스 분류 특징 구현 클래스 Collection List 인덱스-값 순서를 유지, 저장 중복 저장 가능 ArrayList Vector LinkedList Set 키 주머니 순서 없음, 저장 키 = 유니크 HashSet TreeSet Map 키-값 키-값 으로 구성됨 키 = 유니크 HashMap TreeMap HashTable Properties 출처: 이것이 자바다 - 신용권 List 컬렉션 1) 저장 순서 유지 됨. ex) list.add(2) list.add(1) list.add(3) // [2,1,3] 2) 인덱스-값 인덱스로 추가add, 수정s..
[백준] 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { //최대값 BufferedReader br = new BufferedRea..
[java] 형 변환 String array -> String ArrayList package com.company; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; public class test12 { public static void main(String[] args) { String[] arr = {"A","B"}; // 배열 List list = new ArrayList(Arrays.asList(arr)); // 배열 -> ArrayList list.add(1,"C");//인덱스-값 추가 // 출력 1 for(int i=0; i String 배열 String str = "hello ..
[백준] 곱하기 package com.company; import java.io.IOException; import java.util.Scanner; public class test11 { // (세 자리 수) × (세 자리 수) public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int a = sc.nextInt();//엔터로 구분, 엔터 남음 int b = sc.nextInt();//엔터로 구분, 엔터 남음 //System.out.println(a); //System.out.println(b); // int -> int 배열 // int -> string String str = Integer.to..
[백준] 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다. package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class test10 { public static void main(String[] args) throws IOException { BufferedReader rd = new BufferedReader(new InputStreamReader(System..
[백준] 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStream..
[백준] 단어의 개수 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 아이디어 띄어쓰기 개수 +1 = 총 단어의 개수 놓친 점 아무것도 입력하지 않았을때 0 반환 문자열은 공백으로 시작하거나 끝날 수 있다 -> trim() import java.util.Scanner; public class Main { public static void main..