본문 바로가기

전체 글

(156)
[Python] 빈 리스트 확인하는 방법 빈 Sequence(String / Tuple / List)는 False 값을 가진다. 따라서 빈 리스트를 확인하기 위해 다음과 같이 하면 된다. 권장하는 방법 )if not x: print("List x is Empty") 권장하지 않는 방법)if not len(x): print("List x is Empty") ※ 출처 : http://hashcode.co.kr/questions/22/빈-리스트를-확인하는-방법을-가르쳐주세요
[Python] 특정 값 기준으로 정렬하기 list.sort(key = lambda x : x[-1]) key 값에 lambda 을 이용한다.
크루스칼 알고리즘 (Kruskal's Algorithm) 크루스칼 알고리즘 (Kruskal's Algorithm) 크루스칼 알고리즘은 여러개의 Spanning Tree 중 최소 비용을 가지는 Tree를 구하는 알고리즘이다.주로 간선의 방향성이 없고, 모든 노드를 방문해야 하며, 간선에 가중치가 주어질 때 주로 사용된다. 이러한 최소비용을 가지는 Spanning Tree를 MST(Minimum Cost Spanning Tree), 최소비용신장트리라고 한다.MST 문제를 해결하기 위한 알고리즘으로는 대표적으로 크루스칼 알고리즘과 프림 알고리즘이 있다. 크루스칼 알고리즘은 Merge Sort와 Union-Find를 사용하여 구현한 알고리즘이고,프림 알고리즘은 Heap을 사용하여 구현하는 알고리즘이다. 우선 Spanning Tree(신장트리)가 무엇인지 알아보자. S..
백준 알고리즘 2156번 문제효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다.포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다.연속으로 놓여 있는 3잔을 모두 마실 수는 없다.효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고민하고 있다. 1부터 n까지의 번호가 붙어 있는 n개의 포도주 잔이 순서대로 테이블 위에 놓여 있고, 각 포도주 잔에 들어있는 포도주의 양이 주어졌을 때, 효주를 도와 가장 많은 양의 포도주를 마실 수 있도록 하는 프로그램을 작성하시오. 예를 들어 6개의 ..
[Python] 길이가 정해진 리스트 만들기 파이썬에서 리스트를 생성할 때는 그저 아래와 같이 작성하면 쉽게 리스트가 생성이 된다.list = [] 리스트 길이를 지정하고 0으로 초기화 하고 싶다면 다음과 같이 작성하면 된다.list = [0 for i in range(n)] 0으로 초기화 된 2차원 배열을 만들고 싶다면 다음과 같이 작성하면 된다.matrix = [[0 for col in range(n)] for row in range(n)]
[Spring Boot] JPA UPDATE JPA 에서는 UPDATE를 따로 지원해주지 않으므로 직접 쿼리 작성을 해야한다. 주의할 점은 쿼리문 위에 @Modifying 애노테이션을 붙여줘야한다는 점이다.@Modifying @Query("UPDATE user SET inquiry = inquiry + 1 WHERE userId = :userId") void updateInquiry(@Param("userId") Long userId); 하지만 위와 같이 작성했음에도 불구하고 오류가 나는 경우가 있다. 또 한가지 주의할 점은 대소문자에 주의해야한다.쿼리에서 테이블 명을 쓸 때는 해당 테이블과 매핑된 도메인의 클래스 명을 사용해야 한다. 예를 들어, user테이블과 매핑된 클래스(@Table(name="user")와 매핑된 클래스)가 User.jav..
[JSON] KEY 값 추출해서 사용하기 JSON 값을 받아서 파싱을 해야하는데 KEY 값을 모르는 경우가 있을 수 있다.KEY값 추출은 JSONObject 안의 개수가 때마다 일정하지 않을 때 주로 사용된다. 다음과 같은 json 데이터를 받는다고 가정해보자 {"fruit": {"apple": "500원","banana": "200원","watermelon": "300원","peach": "350원","strawberry": "50원","orange": "200원"}} 과일 이름으로 된 key값을 받아오려면 keys() 메소드와 Iterator 반복자를 사용해서한번에 받아올 수 있다. try { JSONObject jsonObject = new JSONObject(fruitList); String fruitValue = jsonObject.g..
[Java] String, Date 타입 간의 변환 String 》》 DateDateFormat sdFormat = new SimpleDateFormat("yyyyMMdd"); Date tempDate = sdFormat.parse("20170817"); ※ 주의할 점 : 포맷 타입에 맞게 String 데이터가 입력되어야 파싱이 된다. Date 》》 StringDateFormat sdFormat = new SimpleDateFormat("yyyyMMdd"); Date nowDate = new Date(); String tempDate = sdFormat.format(nowDate); ※ 주의할 점 : 포맷 형식대로 리턴된다. ※ 출처 : http://sdw8001.tistory.com/130