전체보기
-
[일본 완전 귀국] 일본생활 정리 매뉴얼TOKYO 2017 - 2019/일본 살이 Tip 2020. 1. 8. 19:06
목차 1. 집 렌트 계약 해지 2. 인터넷 해약 신청 3. 가구 처분 (중고 판매 & 메루카리) 4. 쓰레기 처리 5. 핸드폰 해약 신청 6. 신용카드 정리 & 해약 신청 7. 귀국 비행기 예약 8. 은행/증권 계좌 정리 9. 전기/가스/수도 공공요금 해지 신청 10. 한국으로 짐 보내기, 우체국 픽업 신청 11. 주민세 일괄 납부 처리 12. 납세 대리인 신청 13. 전출 신고 14. 경력증명 서류 발급 15. 우편물 부재지 배달 신청 16. 정기권 환불 17. 연금 탈퇴 일시금 환급의 우편 접수 18. 재류카드 무효화 1. 집 렌트 계약 해지 계약 해지 통보 무엇보다 가장 먼저 해야 할 일은 살고 있는 집에 대한 계약 해지 통보이다. 집 계약할 때 받았던 계약서 사본을 확인하면, 계약 해지 시에 통보..
-
Python으로 계산기 구현하기 (Postfix)개발지식 아카이브/Algorithms 2019. 12. 5. 15:01
목차1. Infix 표기법2. Postfix 표기법3. 코드 구현4. 테스트 케이스Infix NotationInfix 표기법은 연산 시에 피연산자 사이에 연산자를 배치하는 것이다. a + b처럼 인간이 알아보기 가장 쉬운 형태이다. Postfix NotationPostfix 표기법은 연산시에 피연산자 뒤에 연산자를 배치하는 것이다. 컴퓨터가 인식하기 쉽게 하기 위하여 고안되었다. a와 b를 더하는 연산은 Postfix 라면 a b + 가 된다. Postfix Implementationdef cal_by_postfix(exp): s = deque() for e in exp: if e not in operators: s.append(e) elif e =..
-
[파이썬 Collections API] 파이썬3의 자료구조 컨테이너 모듈개발지식 아카이브/Python 2019. 12. 2. 00:43
개요 파이썬의 collections 모듈은, 파이썬에 내장된 일반 자료형의(dict, list, set, tuple) 컨테이너 타입을 조금 더 발전시킨 형태의 구현체이다. 파이썬 2.7 까지는 네임드튜플, 덱, 카운터, 순서형 딕셔너리, 기본 딕셔너리의 다섯 개의 컨테이너를 구현하고 있었으나 파이썬 3부터는 체인맵, 유저 딕셔너리, 유저 리스트, 유저 스트링 등의 자료구조가 추가되었다. 바로가기 1. namedtuple() 네임드 튜플 2. deque 큐 3. Counter 카운터 4. OrderedDict 순서형 딕셔너리 5. defaultDict 기본형 딕셔너리 6. ChainMap 체인맵 자료형 요약 namedtuple() 다수의 필드 정보를 가지는 데이터를 저장할 때, 클래스의 객체를 생성하여 저..
-
[해커랭크 HackerRank] DP 알고리즘 Max Array Sum개발지식 아카이브/Algorithms 2019. 11. 3. 21:41
문제 자연수 행렬이 주어질 때, 비인접하는 원소의 행렬들을 구하고, 그원소들의 최대합을 구하라. 예를 들어, arr = [-2, 1, 3, -4, 5] 라는 행렬이 주어졌을 때 존재할 수 있는 비인접 원소 행렬들은 아래와 같다. SUBSET | 합 [-2, 3, 5] 6 [-2, 3] 1 [-2, -4] -6 [-2, 5] 3 [1, -4] -3 [1, 5] 6 [3, 5] 8 [3, 5] 행렬이 가장 큰 합인 8을 가지므로, 8을 return 한다. 풀이 k번째 원소를 포함하고 있는 비인접행렬은 아래의 경우들이다. (A) k-2번째에 존재할 수 있는 모든 비인접행렬에 arr[k]를 더해준 것 tip: 최대합을 구하는 문제이므로 단순히 k-2번째에 존재하는 비인접행렬의 최댓값에 arr[k]를 더해주면 그..
-
[해커랭크 HackerRank] 배열 문제 Minimum Swaps 2개발지식 아카이브/Algorithms 2019. 10. 30. 21:32
Minimum Swaps 연속하는 자연수로 된 배열을 input으로 주고, 안의 원소들을 서로 교환해서 정렬시킬 때, 가능한 가장 적은 교환 횟수를 구하는 문제이다. [7, 1, 3, 2, 4, 5, 6] 이라는 arr 배열을 입력받았을 때, arr[0] 과 arr[3]를 자리 교환, (i=0 에서 7과 2가 자리를 바꾸었다) arr[0] 과 arr[1]를 자리 교환, ...., 최종적으로 arr[5], arr[6]을 자리 교환하여 [1, 2, 3, 4, 5, 6, 7] 으로 정렬이 완료되었다. 정렬 되기까지의 최소 교환 횟수는 5번으로, 5를 리턴한다. 풀이법 원소가 제 자리에 있는지 확인할 때에는 인덱스로 확인하면 된다. 배열에서 인덱스 i에 대해, i+1 == x[i] 를 만족한다면 그 원소는 제 ..
-
[JAVA Collections API] 자료구조 요약: 구조/성능/용도개발지식 아카이브/JAVA 2019. 10. 28. 01:39
개요 이 포스팅에서는 자바 Collections API로 표현되는 자료구조들의 성능에 대해서 이야기하고자 한다. 성능은 시간 복잡도(Time Complexity)를 기준으로 하며, 발생할 수 있는 최대 복잡도를 가리키는 Big-O 노테이션으로 정의한다. 1. 자료 구조 성능 요약 2. 리스트 3. 셋 4. 맵 자료 구조 성능 요약 평균값인 빅-세타-노테이션과 최악의 경우인 빅-오-노테이션을 혼용해 표현하고 있으나 보통은 빅-오-노테이션이 보편적으로 사용된다. 리스트 List 인터페이스는 Collection 인터페이스를 상속한다. 리스트자료 구조는 삽입 순서(Insertion order)가 유지되며, 동기화 미지원(Non synchronized) 이라는 공통점을 가진다. 또한 리스트는 중복 값을 포함할 수..
-
[디자인패턴] 자바 싱글톤 Vs 스프링 싱글톤 패턴의 차이점개발지식 아카이브/JAVA 2019. 9. 28. 14:27
싱글톤 패턴이란 정의 클래스의 오브젝트 개수를 제한시키는 방법론으로, 하나의 클래스당 한 개의 특정 오브젝트만 존재하도록 하는 것이다. 싱글톤 패턴을 구현하여 얻을 수 있는 이점으로는, 불필요한 메모리 누수를 방지한다. 공통된 오브젝트를 사용해야 하는 상황에서 특정한 하나의 오브젝트만 사용하게 해 준다. (예: DBConnectionPool) 자바 싱글톤 패턴 구현방법 1) 생성자를 private으로으로 선언: 외부에서 클래스의 오브젝트를 생성할 수 없게 된다. 2) 참조는 static으로 정의: 어느 영역에서든 접근이 가능하도록 된다 이렇게 하면 클래스가 classloader에 의해 단 한번만 인스턴스화 되는 것을 이용하여 구현한다. Thread Safety를 보장하는 구현법 1. getter 메소드의..
-
[파이썬] *args, **kwargs를 이용해 메소드 축약 작성하는 법개발지식 아카이브/Python 2019. 9. 24. 14:27
개요 *args와 **kwargs를 사용하면, 비슷한 특성을 가진 많은 인수(Argument)들을 함수로 넘겨줄때 유용하다. 먼저, 넘어오는 인수의 개수를 특정하지 않음으로써 상황에 따라 인수의 개수를 줄일수도, 늘릴수도 있다는 점이 장점이다. 또한, 인수가 너무 많으면 메소드의 가시성이 떨어지기 마련인데 이를 묶어서 배열처리 함으로 코드의 가시성이 좋아진다. 문법 (Syntax) 1.1 *args 파싱 # 메소드 정의 def method(*args): for i in args: //처리 # 메소드 콜 method(arg1, arg2) method(arg1, arg2, arg3, ..., argN) 메소드 정의 단계에서, 같은 특성을 가지는 argument들을 배열으로 받을 수 있도록 '*'을 붙여서 정..