코드업 - 기초 100제 풀어보기백준 온라인 저지 - 유형별 문제 제공&삼성test프로그래머스 - 코드 공유SW Expert Academy - 삼성 공식 알고리즘 사이트리플릿온라인 GDBpycharm
복잡도 : 알고리즘의 성능을 나타내는 척도: 필요한 연산의 횟수로, 알고리즘 문제에서 데이터 개수와 시간을 보고 시간 복잡도를 미리 계산해서 풀면 좋다.(10,000,000 연산 -> 1초)N 500개 : O(N3)N 2,000개 : O(N2)N 100,000개 : O
1. 채용을 위한 과정 서류 검토 -> 코딩테스트 -> 기술면접 -> 인성면접 대기업 : 알고리즘 위주(문제 해결 능력을 봄) 스타트업 : 기술면접 위주(실제 투입 가능한지를 봄) 2. 코딩테스트 다른 알고리즘을 비교하여 '특정한 상황'에서 무엇이 더 좋을지를 설명할
N개의 배열 중 숫자를 골라 M번 반복하여 최대 합을 만들어내야 한다. 중복된 인덱스는 K번만 사용할 수 있다.이 문제를 풀기 위해서는 가장 큰 값 2개를 고르고, 최대값1 x K+최대값2+최대값1 x k이런 식으로 반복하면 된다.sort()함수를 사용하고, 더하는 횟
숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자자가 쓰인 카드 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다.1\. 숫자가 쓰인 카드들이 N X M 형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의
이것이 취업을 위한 코딩테스트다 99쪽어떠한 수 N이 1이 될 때 까지 다음의 두 과정 중 하나를 반복적으로 선택해 수행하려 함단, 두번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있음N에서 1을 뺀다.N을 K로 나눈다.N이 1이 될 때 까지 1번 혹은 2번의
: 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 -> 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제완전 탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하는 방법파이썬에서
이것이 취업을 위한 코딩테스트다 110쪽 여행가 A는 N x N 크기의 정사각형 공간 위에 서 있다. 이 공간은 1 x 1 크기의 정사각형으로 나누어져 있다. 가장 왼쪽 위 좌표는 (1, 1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당한다. 여행가 A는 상, 하
정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오.입력5출력11475나의 코드는 경우의 수를 계산하는 느낌이고, 책의 풀이는 하나씩 for문을 돌려 확인하는 방법
이것이 취업을 위한 코딩테스트다115쪽행복 왕국의 왕실 정원은 체스판과 같은 8 X 8 좌표 평면이다. 왕실 정원의 특정한 한 칸에 나이트가 서 있다. 나이트는 매우 충성스러운 신하로서 매일 무술을 연마한다.나이트는 말을 타고 있기 때문에 이동을 할 때에는 L자 형태로
이코테 124p 탐색 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 DFS / BFS가 해당됨 자료구조 데이터를 표현하고 관리하고 처리하기 위한 구조(오버플로와 언더플로 고려) push : 데이터 삽입 pop : 데이터 삭제 스택 선입 후출 큐
DFS : 깊이 우선 탐색, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘그래프 : 노드와 간선이루어짐인접 행렬 방식 : 2차원 배열로 그래프 연결 관계 표현(메모리 많이, 속도 빠름)인접 리스트 방식 : 리스트로 그래프의 연결 관계 표현(메모리 적게, 속도 느림
N × M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다.구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다.이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개
정렬 : 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 의미한다.무작위 데이터 중 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 과정 \* 반복시간복잡도 : O(N²)데이터가 10,000개 이상일 경우 속도 느리기 때문에 기본 정렬 라이브러리 쓰는 것
순차 탐색 : 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법
다이나믹 프로그래밍(동적 계획법) : 어떤 문제를 풀기 위해 그 문제를 더 작은 문제의 연장선으로 생각하고, 과거에 구한 해(메모리 저장)를 활용하는 알고리즘다이나믹 프로그래밍의 조건 1\. 큰 문제를 작은 문제로 나눌 수 있다.작은 문제에서 구한 정답은 그것을 포함
다익스트라 최단 경로 알고리즘: 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘그리디 알고리즘을 이용한다는게 특징출발노드를 설정한다.최단거리 테이블을 초기화 한다.방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택한다.해당 노
그래프 : 노드(Node)와 간선(Edge)의 정보를 가지고 있는 자료구조인접 행렬(Adjacency Matrix) : 2차원 배열을 사용하는 방식인접 리스트(Adjancecy List) : 리스트를 사용하는 방식트리 자료구조 : 우선수위 큐(heapq), 서로소 집합