Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

코테준비 본문

코테준비

코테준비

Seung__ 2022. 5. 11. 00:39

1. import

import java.util.*;

2. 효율성 안나오면?
루프부터 의심
object가 아닌 primitive 사용하여 효율성 올리기

3. Greedy 알고리즘
현재!!를 기준, 현재~다음 관계만 확인.

4. 배열의 정렬
Arrays.sort() array 정렬, Comparator 사용(앞 - 뒤)
1) 내림차순

Arrays.sort(array, new Comparator<String>(){
            puiblic int compare(String s1, String s2){
                return (s2+s1).compareTo(s1+s2);
            }
        })

2) 내림차순

Arrays.sort(array, new Comparator<String>(){
            puiblic int compare(String s1, String s2){
                return (s1+s2).compareTo(s2+s1);
            }
        })

자바 8부터는 람다 지원함.
sort의 변수는 배열과 Comparaor 뿐 임.
또한 Comparator에는 compare 메서드 하나 뿐 임.
따라서 new Comparator 부분은 람다식으로 대체 가능.

 Arrays.sort(array, (String s1, String s2) -> (s2+s1).compareTo(s1+s2));


5. 문자열 크기 비교 :누가 더 큰 문자열인지.

//(s1 + s2) - (s2 +s1) 비교
if((s1+s2).compareTo(s2+s1) < 0){
}


6. 숫자를 문자열로 변환하여 내림차순으로 정렬했더니 0으로 시작한다?
그냥 0

7. 정확성 테스트에서 시간초과
1) 무한루프?
2) 제한시간 초과


8. Stream : 복습하자

import java.util.stream.*;
import java.util.*;
import java.util.stream.*;

class Solution {
    public String solution(int[] numbers) {

      String answer =  IntStream.of(numbers)
            .mapToObj(n -> String.valueOf(n))
            .sorted((s1, s2) -> (s2+s1).compareTo(s1+s2))
            .collect(Collectors.joining());

    
        if(answer.startsWith("0")){
            return "0";
        }
        
        return answer;
    }
}


9.배열문제
종종 소팅을 이용한문제
인덱스를 양쪽 L,R로 잡고 이동하는 방식으로 접근
0을 옮겨라=숫자를 옮겨라

stable  unstable

sliding 모든숫자가 양수일경우 적용가능
모든 합을 구한뒤, 왼쪽+=피봇, 오른쪽-=피봇

 

10. 배열 복사

Arrays.copyOfRange(배열, 시작, 끝+1)
Comments