Free Lines Arrow
본문 바로가기
728x90

전체 글380

[Algorithm] Prim Prime 이란? MST를 만드는 알고리즘 중 하나입니다. Kruskal 과 다른점은 시작점을 기준으로 만들게 됩니다. Prime 알고리즘 S 집합: 현재까지 선택된 노드들 S - A: 선택 되지 않은 노드들 핵심 선택한 노드들과 선택되지 않은 노드들을 연결하는 엣지중 최소를 찾는 것이다. 순서 노드를 선택한다. 선택한 노드들(S) 과 연결된 제일 노드를 선택한다. - 단 가중치가 제일 작은 엣지를 선택한다. 가중치가 최소인 엣지 찾기 O(n) 으로 노드들을 찾을수 있다. 선택되지 않은 노드들에 2개의 값을 추가해준다. key: 현재노드와 선택된 노드들간의 최소 거리 π : 현재노드에 연결된 선택된 노드 그림으로보아야 이해가 빠르다. H 를 기준으로 설명하면 현재까지 선택된 노드들(A,B,C,I) 중 H.. 2021. 9. 14.
[프로그래머스] tuple 문제 분석 문자열에서 먼저 힌트를 찾을수 있었다. 정해진 패턴 대로 들어온다. "{{2},{2,1},{2,1,3},{2,1,3,4}}" 잘 보면 길이 순으로 튜플이 만들어 진다. 다음 두가지 조건을 지키면된다. - {2} {2,3} {2,4,3} - 짧은 길이 숫자를 먼저 집합에 넣는다. - 중복이 안되게 한다. 구현 import java.util.*; class Solution { public int[] solution(String s) { s = s.replace("{",""); s = s.replace("}}",""); System.out.println(s); String []splitArray = s.split("}"); List setIntList = new ArrayList(); Arrays... 2021. 9. 7.
[Java] HashMap, hashCode(), equals() HashMap HashMap 이 어떻게 동작하고 저장하는지 알아본다. HashMap 에서 어떻게 비교연산이 이루어 지는지 알아본다. equals 와 hashCode 함수에 대해 알아본다 HashMap? HashMap 이란 키와 값을 묶어서 하나의 데이터로 저장한다. 그리고 hashing 을 사용하기 때문에 데이터를 검색하는데 성능이 뛰어나다. hashing 이란 뭘까? Hashing 해싱이란 해시함수를 이용해서 데이터를 해시 테이블에 저장하고 검색하는 기법이다. 그림 1. 키값을 해시함수에 넣는다. 2. 해시함수 결과 값(해시코드)에 해당하는 링크드리스트를 찾는다. 3. 링크드 리스트에 검색한 키와 일치하는 데이터를 저장하거나 또는 데이터를 찾는다. hashCode? Map 을 사용할때 때때로 hashC.. 2021. 9. 6.
[Java] getter 와 setter getter 와 setter 개발을 하다보면 많이 들어 봤을 얘기다. 그리고 사용하는게 당연하다고 알고 있다. getter 와 setter 그럼 왜써야될까? 막상 설명 하려고 하면 까먹는 경우가 있다. 내가 그랬다. private 접근자 우리는 보통 멤버변수를 private 으로 해둔다 그이유는 무결성 때문이다. 그리고 한정적으로 노출 하여 유지보수 성을 높일수 있다 DDD 를 생각해보면 항상 최상위 루트에서 접근을 해야 되기 때문에 겟터와 셋터로만 접근 하게 하면 경계가 생겨서 유지보수에 좋다 그렇다면 무결성이 왜 필요한가? 다음과 같은 얘가 있다. 우리는 멤버변수 가격을 갖는 Item 클래스를 만들었다. 초보개발자 같은 경우는 setter 를 굳이 만들기 귀찮아서 그냥 public 으로 했다 얼마나 .. 2021. 9. 5.
728x90
반응형