목록분류 전체보기 (184)
이숭간 공부기록
Array 어레이는 어떤 언어에나 존재하는 가장 기본적인 자료구조로 고정된 크기의 연속된 메모리를 말한다. 순서대로 번호(인덱스)가 붙은 원소들이 연속적인 형태로 구성된 구조를 뜻하며 인덱스를 알면 해당원소에 접근할 수 있다. 원소들이 연속적으로 배치되어 있기때문에 인덱스로 원소에 접근할때 O(1)의 시간복잡도를 가진다. 배열은 참조형 타입으로 변수명 자체가 레퍼런스를 저장하고 있기때문에 변수자체를 포인터로 활용할수 있다. 이때 배열은 연속적인 위치를 보장하므로 (포인터값 + 데이터형의 크기)로 다음요소에 접근할수 있다. 한계점: 고정된 크기 배열 자료구조는 선언시에 할당된 메모리크기가 고정되어있기 때문에 배열의 크기를 늘려야 할때는 크기가 큰 새로운 배열을 생성하고, 기존 내용을 복사하거나 배열일부를 ..
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제유형 : 스택 문제풀이 : 정답코드(파이썬): from collections import defaultdict def solution(progresses, speeds): answer = [] daycount = defaultdict(int) # progresses가 빌때까지 100이 안넘을때만 시간을 1씩 증가시키면서 더해준다. # 더해가면서 맨앞의..
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 문제유형 : 문자열, 구현, 집합 문제풀이 : 주어진 조건에 맞게 문자열을 잘 조작하고 집합연산도 적절하게 사용해서 구현하는 문제 나는 Counter를 쓰긴 했는데 다른분 풀이보니까 그냥 리스트.count()하면 되긴한다 그래도 딕셔너리 쓰는게 더 시간복잡도가 좋지않을 ㄲ ㅏ..? 시픈데 어쨋든 내 코드가 더 복잡하긴 하다. 정규식을 잘 기..
https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 문제유형 : 구현 문제풀이 : 일단 이문제는 내가 푼 시점에서 푼사람이 0명인 문제다... 얼마전에 올라온건가?? 2시간동안 풀었는데 결국 효율성을 통과하지 못했다.. 최초가 되고싶었는데.. 근데 검색해도 하나도 안나오고 질문하기도 0이라 도저히 머리가 터질거같아서 일단 이쯤하고 올려둔다. 아시는분있음 댓글좀 부..
https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 문제유형 : 다익스트라 문제풀이 : 1번노드를 시작으로하는 다익스트라 알고리즘을 수행한다. 이때 모든 간선의 비용을 1로보고 계산한다. 다익스트라가 끝났을때 최단거리 테이블에서 INF을 제외한, 가장큰 비용을 갖는 노드의 개수를 출력한다. 정답코드 : # 1번노드를 출발지로하여 다익스트라 실행 # 모든 간선의 비용을 1로보고 다익스트라가 끝났을때 최단거리테이블에서 가장 값이 높은 노드를 출력한다. import heapq def so..
https://programmers.co.kr/learn/courses/30/lessons/42842?language=python3 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 문제유형 : 완전탐색 문제풀이 : yellow가 X일때 만들수있는 사각형의 가로,세로 길이를 모두 구한다. ( 가로가 세로 이상 ) ex) X=6이면 (가로,세로)일때 (6,1), (3,2) 인 사각형을 만들수 있다. 위에서 구한 각 경우에 대해서 brown의 개수를 구한다. 공식 : 노란색 사각형의 길이를 알때 걔를 둘러싼 테..