이 문제는 카카오 신입 공채에 나왔던 문제이고, 당시에 java로 문제를 풀었었다. 조금 늦었지만 어떻게 풀었는지 내 생각을 정리하고자 글을 쓴다. 간단히 어떻게 풀었는지 말하면 경우의 수를 나열하고 검사했다. 이 문제에서 경우의 수는 방문한 노드이고 양의 수가 최대값인지 검사를 했었다. import java.util.*; class Solution { int[] info; HashMap tree = new HashMap(); HashSet set = new HashSet(); int answer = 1; int size; public int solution(int[] info, int[][] edges) { this.info = info; size = info.length; for(int[] e : e..
알고리즘 문제를 풀 때 정렬 기준을 따로 세워야 하는 상황이 많다. Java에서 미리 구현된 기준이 아닌 다른 기준으로 정렬하고 싶을 때 Comparable과 Comparator을 사용한다. Comparable은 인터페이스이다. 정렬 기준을 만들고 싶은 클래스에 implements를 한 다음 public int compareTo 메서드를 구현해 주면 된다. String 타입을 길이 순으로 정렬하고 싶을 때, String 클래스에 Comparable 인터페이스를 사용할 수 없다. 이럴 때 Comparator을 사용하면 된다. 개인적으로 Comparator은 java에 미리 정의되어 있는 자료형에 대한 정렬을 할 때 사용하거나, 2차원 이상의 배열을 정렬할 때 사용한다. 위는 백준 1181번 단어정렬이라는 ..
- Total
- Today
- Yesterday
- Python
- java
- mysql
- postman collection
- solidity
- downTo
- postman
- 네이버 2022 공채
- Kotlin In Action
- hashcode
- DGS Framework
- Basic Type
- 코딩테스트
- 주생성자
- github
- postman tests
- pm.test
- python3
- 코틀린
- 확장 함수
- graphql
- 2차 인터뷰
- 1차 인터뷰
- squash merge
- go 특징
- Kotlin
- pm.expect
- Squash and merge
- git
- string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |