gil.getJavaCheatSheet();

gillog·2020년 10월 10일
0

gil.library.utils

목록 보기
1/4

Scanner 관련

Scanner 선언 > Scanner scanner = new Scanner(System.in);

한줄 입력 받기 > scanner.nextLine();

공백 이전 입력 받기 > scanner.next(); (next + 자료형)

숫자 관련

double 타입 숫자의 제곱근 구하기 > Math.sqrt(double타입);

정렬 관련

역순 정렬 Arrays.sort(arr, Collections.reverseOrder());
단점 개느리다.

문자열 관련

문자열 내 큰 따옴표 등 넣기 String str = """;

String > char[] 변환 string.toCharArray();

long을 String으로 변환 Long.toString(l);

String을 long으로 변환 Long.parseLong(str);

[a,z]=[97,122], [A,Z]=[65,90], 공백 = 32

char '0' = int 48,

문자열 뽑아내기

// 4번째 문자부터 뽑기
String s1 = str.substring(3);   
// 3번째 문자부터 5번째 문자 "전"까지 뽑기
String s2 = str.substring(2,4); 

String 대문자, 소문자 변환

String s = "TesT";
// 소문자로
s = s.toLowerCase();
// 대문자로
s = s.toUpperCase();

String 해당 문자열 개수 세기

String s = "TesTProblem";
s = s.toUpperCase();
s.chars().filter( e -> 'P'== e).count();

중복 관련

중복 없이 저장하고 오름차순 정렬

//treeSet 이용 중복 없이 항목들 저장
//treeSet 크기 만큼 배열 생성 후 Iterator이용
Set<Integer> treeSet = new TreeSet<Integer>();

int [] answer = new int [treeSet.size()];
        
Iterator iterator = treeSet.iterator();

index, value 나누고 value 오름차순 정렬


Map<Integer, Character> map = new HashMap<>();
        
for(int i = 0 ; i < leng; i++){
   map.put(i, strings[i].charAt(n));
}
        
List<Integer> keySet = new ArrayList<>(map.keySet());
        
Collections.sort(keySet, (o1, o2) -> (map.get(o1).compareTo(map.get(o2))));
        
String[] answer = new String[leng];
        
for(int i = 0 ; i < leng; i++){
   answer[i] = strings[keySet.get(i)];
}

DFS


class Dfs {
    private int nV;
    private ArrayList<ArrayList<Integer>> dfs;
    private boolean[] visitArr;

    public Dfs(int nV) {
        this.nV = nV;
        this.dfs = new ArrayList<ArrayList<Integer>>();
        
        for(int i=0; i<this.nV+1; i++) {
            this.dfs.add(new ArrayList<Integer>());
        }
        this.visitArr = new boolean[this.nV+1];
    }
    
    public void put(int x, int y) {
        this.dfs.get(x).add(y);
        this.dfs.get(y).add(x);
    }
    
    public void dfs(int vIdx) {
        this.visitArr[vIdx] = true;
        System.out.print(vIdx + " "); 

        for(int i : this.dfs.get(vIdx)) {
            if(this.visitArr[i] == false) {
                dfs(i);
            }
        }
    }
    
    public void putSingle(int x, int y) {
        this.dfsGraph.get(x).add(y);
    }
    public void printGraphToAdjList() {
        for(int i=1; i<this.dfs.size(); i++) {
            System.out.print("정점 " + i + "의 인접리스트");
            for(int j=0; j<this.dfs.get(i).size(); j++) {
                System.out.print(" -> " + this.dfs.get(i).get(j));
            }
            System.out.println();
        }
    }
    public void clearVisitArr() {
        for(int i=0; i<this.visitArr.length; i++) {
            this.visitArr[i] = false;
        }
    }
    // 그래프 return
    public ArrayList<ArrayList<Integer>> getGraph() {
        return this.dfs;
    }
 
    public ArrayList<Integer> getNode(int i) {
        return this.dfs.get(i);
    }
    
}
profile
🚀 기록보단 길록을 ⭐

관심 있을 만한 포스트

0개의 댓글