프로그래머스 - 섬 연결하기처음에는 다익스트라로 풀려고했다가 실패했다. 다익스트라는 한 정점에서 다른 모든 정점들에 대해 최소 비용을 알려주는 것이다. 여기서는 전체 간선이 최소화되어야한다. 프림과 크루스칼 알고리즘 간단 차이프림과 크루스칼 시간 복잡도프림을 이용한 풀
JPA: 자바 표준 ORM (Object Relational Mapping)참고MyBatis, iBatis는 ORM이 아니다. SQL Mapper이다. ORM은 객체를 매핑하는 것이고, SQL Mapper는 쿼리를 매핑한다.현대의 웹 어플리케이션에서 관계형 데이터베이스
프로그래머스 - 정수 삼각형 def solution(triangle): for i in range(1, len(triangle)): for j in range(len(trianglei)): if j == 0:
2019 KAKAO BLIND RECRUITMENT - 오픈채팅방uid는 바뀌지 않는다는 것을 이용하여 uid를 기준으로 로그를 남기고, uid를 키로, 닉네임을 값으로하는 딕셔너리로 정보를 저장한다. 마지막 로그에 대해 닉네임을 찾아서 출력하면된다.
프로그래머스 - 땅따먹기그리 어렵지 않은 문제다. 직전 위에 행에서 같은 열이 아닌 값중 가장 큰 값을 더해주면 된다. 코드를 쓰다 알게된 것인데 2차원 배열일때는 max(max(arr))를 써주면 2차원 배열에서 가장 큰 값이 나온다.슬라이싱을 이용할 경우, 슬라이싱
2019 카카오 개발자 겨울 인턴십처음에는 튜플과 집합의 차이점을 인지하지 못해서 통과하지 못했다. 튜플은 순서가 중요한데 집합에는 순서가 바뀔 수 있다. 따라서 순서가 바뀌지 않는 1개짜리 집합에서 시작해서 하나씩 잡아가야한다. 정규식과 Counter를 이용해서 우아
without grouping:group by가 없다면 avg를 한번만 구하면된다. rating과 age만 있으면 되므로, index-only를 써야한다.with group:index only, but sorting is neededrating을 기준으로 sorting
프로그래머스 - 조이스틱세로로 움직였을 때 최단 거리를 찾고, 가로로 움직였을 때의 최단거리도 구해야하는 문제다. 세로로 움직이는 명백히 그리디이고 목표물까지 위로가는 경우, 아래로 가는 경우 두 가지가 있으니 그 중 minimum을 취해야한다.가로로 가는 경우 오른쪽
백준 - 트리 순회트리를 구성하는데 여러가지 방법이 있겠지만, 이렇게 Node 클래스를 만들고 Node의 data 를 key로 하는 딕셔너리로 트리를 유지하는 것도 괜찮은 방법이다.
Option1 : "retrieved"라고 강조한 이유는 이미 I/O로 읽은 상태에서 걸러내는 것이기 때문에 I/O가 줄어들지는 않는다. 시험이나 과제에서는 (RF)ReductionFactor가 주어진다 여기서는 하나의 쿼리만 이용했다.<pageId, slot n
2018 KAKAO BLIND RECRUITMENT - \[1차 캐시]비교적 쉬운 문제였으나 사소한 조건인 대소문자를 구분하지 않는다는 것을 놓쳐서 처음 통과하지 못했고, 그 다음은 cache hit를 했을 때, 그것을 제일 최신 것으로 갱신해줘야한 다는 것을 몰라서
프로그래머스 - 가장 큰 정사각형 찾기기본적으로 가장 큰 h가 무엇일지 이중탐색으로 찾아간다. 이중 탐색으로 찾을 때, h에 대해 좌표 기준점을 옮겨 다니면서 만족하는 크기가 있으면 true를 리턴하는 방식이다. 하지만 이것은 for문이 5중 for문이다.출처: htt
프로그래머스 - H-index가능한 H-index는 0부터 max(citations)이니 이분탐색으로 풀었다.count_h는 mid번 이상 인용된 논문의 개수를 반환하는데 정렬되어있으니 citationsi가 mid이상인 순간 그 뒤의 것은 모두 mid 이상인 점을 이용
프로그래머스 - JadenCase 문자열 만들기(프로그래머스 - JadenCase 문자열 만들기)복잡한 문제는 아니었는데 조건이 충분히 주어지지 않았다. 맨 앞에 공백이 오는 경우 문자로 처리하는지 여부 등이 참에 split에 대해 정리를 했는데
Let us return to the production facility problem in chapter 1. The problem involves a production facility that can take a variety of raw materials (en
프로그래머스 - 문자열 내 마음대로 정렬하기파이썬의 내장 정렬은 팀소트를 사용하고, 안정 정렬이다. 즉 동일한 값을 가지면 입력 순서를 유지한다는 뜻이다. 참고로 퀵 소트는 불안정 정렬인 단점이 있다. 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치
2020 카카오 인턴십 - 키패드 누르기\*은 10으로 0은 11로 비슷하지만 각 숫자의 행과 열의 위치를 미리 계산해서 dict로 저장함으로서 \*, 0, #을 치환하는 과정이 없어졌다.