본문 바로가기

전체 글39

[Programmers] 2021 카카오 블라인드 채용 4번 - 합승 택시 요금 n개의 지점이 주어진다. (3 2021. 8. 21.
[Programmers] 2021 카카오 블라인드 채용 3번 - 순위 검색 최대 50,000개의 지원자 정보와 100,000개의 쿼리문을 처리하는 문제이다. 지원자의 정보는 '개발언어 / 직군 / 경력 / 소울푸드 / 코딩테스트 점수' 순으로 주어지며, 쿼리문의 '개발언어 / 직군 / 경력 / 소울푸드 / 코딩테스트 점수 (이상)'의 조건을 만족하는 지원자의 수를 구해야한다. 주의할 점은 쿼리문의 조건에는 '-'이 포함될 수 있는데, 이는 해당 조건은 무관하다는 의미이다. 본 문제에는 효율성도 평가되므로 시간복잡도를 고려해야했다. 이 문제를 보고 다차원 배열이 가장 먼저 떠올랐다. int conditions[조건A][조건B][조건C] = new int[조건A의 개수][조건B의 개수][조건C의 개수]; // conditions[2][1][3] -> 조건A : 2, 조건B : 1,.. 2021. 8. 20.
[Java] 제네릭이란? (Generic) 배열을 정렬할 때 사용하곤 하는 Arrays.sort ( ) 는 실제로 아래와 같이 작성되어 있다. 우리가 흔히 작성하는 Method의 형태와는 조금 달라 보인다. 익숙하지 않은 이유는 와 타입 변수에 모든 타입을 사용할 수 있음 2021. 8. 20.
[Java] 람다 표현식이란? (Lambda Expression) 아래의 소스 코드는 sortedArray라는 2차원 배열을 정렬한다. 괄호와 화살표 등을 섞어서 쓰는 람다 표현식 (Lambda Expression) 덕분에 2차원 배열을 한 줄로 정렬할 수 있다. 그렇다면 람다 표현식은 무엇일까? int sortedArray[][] = new int[N][2]; Arrays.sort(sortedArray, (int x[], int y[]) -> x[0] - y[0]); // 2차원 배열 Sorting Lambda Expression (람다 표현식) : Functional Interface 구현에 이용되는 표현식 (※ Functional Interface : 오직 하나의 추상 메소드가 있는 인터페이스, 추상 메소드 게시글 참고) [표현 방법] "Parameter" -> .. 2021. 8. 17.