분류 전체보기

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 과정 핵심은 입력된 배열을 열 별로 0부터 차례대로 훑다가 0을 제외한 수를 만나면 뽑기. 뽑은 자리에는 인형이 없으므로 0으로 변환 인형을 차례대로 뽑은 주머니는 스택 형태로 구현. 스택에 가장 최상단 값과 현재 값이 같다면 pop 하고 인형 수 count top 값과 현재 값이 다르다면 새 인형 append # 예제 입력 board = [[0, 0, 0, 0, 0], [0, 0, 1, 0, 3], [0, 2, 5, 0, 1], [4, 2, 4, 4, 2], [3, 5, 1, 3, 1]..
문제 링크 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 문제 풀이 과정 T 초 후에 방에 미세먼지가 얼마나 남았는지 총합을 계산하는 문제. 미세먼지와 공기청정기 파트로 나눠서 생각하고 구현 미세먼지 미세먼지는 인접한 4개(상하좌우) 방향으로 확산 확산할 공간에 공기청정기가 있거나 공간의 끝이면 확산되지 않음. 확산되는 양은 A(기존에 미세먼지가 있었던 칸의 양) // 5 확산되면 기존 칸의 양은 A - ((A // 5) * 확산된 방향 수) 공기청정기 1열에 2칸에 -1의 형태로 존재. 상부와 하부에 따라..
오늘 목표 TIL 작성 필수 문제 풀기 학습한 것 백트래킹 관련된 문제들이 시작부터 나왔는데, N과 M 문제 때 제대로 준비하지 못해서 그런지 많이 어려웠다. 탐색 유형에 그래프 탐색 문제가 많다보니 BFS, DFS를 소홀히 한 행동이 약점으로 다가왔다. 그래서 내일부터는 부족했던 부분부터 다시 학습할 필요성이 보인다. 아래 블로그는 BFS나 백트래킹을 찾다보니 기본적인 내용부터 차례대로 설명해줘서 이해하기 쉬웠던 블로그다. 문과생이 적어보는 백트래킹 (재귀와 DFS 를 곁들인) 들어가기에 앞서서, 해당 글은 기본적인 문법 (for, while, print, 입력받기, 배열)에 대해서 알고 있음을 전제로 합니다.만약 기본적인 문법을 모르는 상태라면 반복문과 출력, 배열, 입력받기에 대 velog.io 팀..
오늘 목표 TIL 작성 코딩테스트 문제 복기 반성 오늘 코딩 테스트 문제를 풀면서 얻어가야할 것들과 내일부터 시작되는 4주차 과정에서 각 문제를 어떤 방식으로 접근해야되는지에 대해서 알려주셔서 감사했다. 오늘 문제를 풀면서 지금까지 내가 공부했던 알고리즘 파트에서 어느 부분이 앞으로 더 학습해 나가야 하고 어떤 부분은 그래도 잘했는지 나눠서 중간점검 느낌으로 생각해봤다. 잘한 부분 파이썬의 기본 자료구조에 대한 이해도가 많이 늘었다. 알고리즘에 대해 처음 공부하며 어떤 알고리즘들이 있는지 이해했다. 반성할 부분 처음 접한 만큼 아직 각 알고리즘에 대한 이해도가 부족하다. 자바에 대한 이해도가 떨어지는 것 같으니 지난 과정을 복기할 필요가 있다. 스택, 재귀, 그래프 탐색에 약한 모습을 보인다. 코딩 테스..
오늘 목표 TIL 작성 필수 문제 다 풀기(3번은 못풀어서 세모) 학습한 것 오늘은 그래프의 기초적인 내용과 DFS, BFS와 관련해서 학습했다. 내용 정리는 양이 좀 있어 별도로 작성했다. [알고리즘] 그래프와 DFS, BFS 1. 그래프란? 그래프는 '노드 (Node) 와 각각의 노드를 연결하는 간선(Edge)'으로 구성된 자료구조이다. 쉽게 설명하면 각각의 객체들과 그것을 잇는 선들의 집합이라고 생각하면 된다. 실생활에서 digitalagora.tistory.com 아쉬웠던 점 문제의 난이도가 높다보니 자꾸 집중이 되지 않아 제대로 문제를 풀지 못했다. 가능하면 그래프 관련된 문제들은 한 번 더 확인하면서 문제 유형이나 풀이 방법에 대해 더 자세히 알아둬야겠다. 좋았던 점 어렵지만 포기하지 않은 나..
1. 그래프란? 그래프는 '노드 (Node) 와 각각의 노드를 연결하는 간선(Edge)'으로 구성된 자료구조이다. 쉽게 설명하면 각각의 객체들과 그것을 잇는 선들의 집합이라고 생각하면 된다. 실생활에서 우리가 대표적으로 보는 그래프 형태의 이미지는 지하철 노선도를 떠올릴 수 있다. 각각의 역과 역을 잇는 선들의 집합으로 그래프의 형태를 이루고 있다고 이해하면 알기 쉽다. 그래프는 또한 다음과 같은 다양한 특성을 지닌다. 노드(Node)는 다른 이름으로 정점(Vertex)라고도 불린다. 연결 방향에 따라서 양방향, 단방향, 무방향이 될 수 있다. 넓은 범위에서는 트리 역시 그래프의 일종이다. 인접 : 두 개의 노드가 간선으로 직접 연결되어 있는 상태를 말한다. 가중치 : 간선에 따라 할당된 값 또는 비용을..
오늘 목표 TIL 작성 필수 과제 풀기 학습한 것 오늘은 그래프의 기초적인 부분을 학습하면서 공부했는데 아직 이해가 잘 되지 않은 부분이 많아, 월요일에 그래프 탐색을 하면서 그래프의 내용을 좀 더 정리하면서 작성해야겠다. 좋았던 점 heapq를 사용하면서 그냥 쓰기만했었지, 자료구조의 시간복잡도나 공간복잡도에 대해서 제대로 생각해보지 않은 것 같다. 근데 오늘 멘토링을 하면서 멘토분과 팀원들과 함께 heapq 내의 heapify나 heappush 같은 함수들이 왜 O(N), O(logN)인지, 정렬 알고리즘들은 왜 그런 시간 복잡도를 가지고 있는지 내부적인 로직에 대해서도 고려해볼 수 있었다. 아쉬웠던 점 오늘 문제는 그래프와 관련된 것이 아니라 지금까지 풀었던 문제들을 종합적으로 풀어보는 문제였다. ..
오늘 목표 TIL 작성 필수 과제 모두 풀기 학습한 것 이진 탐색이란? 정렬이 이미 되어 있는 리스트에서 탐색의 범위를 절반씩 줄여나가며 데이터를 탐색하는 방법을 의미한다. 다음과 같은 특징을 가진다. 변수 3개를 사용해 탐색한다.(start, mid, end or left, mid, right) start: 시작 범위 mid : 중간 위치에 있는 데이터 end : 끝 범위 탐색의 범위를 절반 단위로 줄이기 때문에 시간 복잡도는 O(log₂N) 이다. 다음과 같은 예시를 통해서 이해해보자. 코드 및 실행 예시 # 시작 데이터 arr = [1,2,3,4,5,6,7,9,10] # 찾으려는 값 target = 8 # 1회 탐색(start = 1, mid = 5, end = 10) # mid의 값보다 찾으려는 ..
solitude12
'분류 전체보기' 카테고리의 글 목록 (5 Page)