N에서 1을 뺀다.N을 K로 나눈다.idea)최대한 많이 나누기.
Idea)"각 행마다 가장 작은 수를 찾은 뒤, 그 수 중에서 가장 큰 수"를 찾는 것
구현 : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정특징 : 풀이를 떠올리는 것은 쉽지만, 소스코드로 옮기는 것은 어려우 문제를 의미.문제유형 분류 : 완전탐색 + 시뮬레이션 유형 모두 구현으로 분류시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접
탐색 : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조(오버플로우 : 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입연산을 수행할 때 발생) (언더플로우 : 특정한 자료구조에
N x M 크기의 직사각형 형태의 미로에 여러 마리의 괴물이 있어 이를 피해 탈출해야 한다. 현재 위치는 (1, 1)이고 미로의 출구는 (N,M)의 위치에 존재하며 한 번에 한 칸씩 이동할 수 있다. 괴물이 있는 부분은 0으로, 괴물이 없는 부분은 1로 표시되어 있다.
정렬 : 데이터를 특정한 기준에 따라서 순서대로 나열하는 것링크텍스트링크텍스트(https://gmlwjd9405.github.io/tags1\. 버블 정렬 : 매번 연속된 두개의 인덱스를 비교해, 정한 기준의 값을 뒤로 넘겨 정렬하는 방법.선택 정렬 : 가장
동빈이는 두 개의 배열 A와 B를 가지고 있다. 두 배열은 N개의 원소로 구성되어 있으며, 배열의 원소는모두 자연수이다동빈이는 최대 K 번의 바꿔치기 연산을 수행할 수 있는데, 바꿔치기 연산이란 배열 A에 있는 원소 하나와배열 B에 있는 원소 하나를 골라서 두 원소를
: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법: 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는 과정: 그래프 자료구조의 일종으로 데이터베이스 시스템이나 파일 시스템과 같은 곳에
다이나믹 프로그래밍 = 동적 계획법다이나믹 프로그래밍 대표적 예시 - 피보나치 수열다이나믹 프로그래밍 : 큰 문제를 작게 나누고, 같은 문제라면 한 번씩만 풀어 문제를 효율적으로 해결하는 알고리즘 기법재귀함수를 이용한 다이나믹 프로그래밍 시간복잡도 O(N)탑다운 방식
링크텍스트input() 말고 sys.stdin.readline() 를 사용하자.결론만 말하자면, 입출력 속도가 다음과 같다.sys.stdin.readline() > raw_input() > input()뭐 어느정도로 더 빠르고 느리냐는, 코딩 테스트 문제푸는 수준에서
최단거리 알고리즘1) 다익스트라 최단 경로 알고리즘2) 플로이드 워셜3) 벨만 포드 알고리즘다익스트라 최단 경로 알고리즘그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단경로를 구해주는 알고리즘\-> 현재 처리하고 있는 노드를
9-1.py 다익스트라 알고리즘 소스코드 어떤 나라에는 N개의 도시가 있다. 각 도시는 보내고자 하는 메시지가 있는 경우, 다른 도시로 전보를 보내서 다른 도시로 해당메시지를 전송할 수 있다. 하지만 X라는 도시에서 Y라는 도시로 전보를 보내고자 한다면, 도시 X에서
링크텍스트서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조서로소 집합 자료구조는 두 종류의 연산을 지원한다합집합(Union): 두 개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산찾기(Find): 특정한 원소가 속한 집합이 어떤 집합인지 알려
여행가 A는 N × N 크기의 정사각형 공간 위에 서 있다. 이 공간은 1 × 1 크기의 정사각형으로 나누어져 있다.가장 왼쪽 위 좌표는 (1, 1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당한다.여행가 A는 상, 하, 좌, 우 방향으로 이동할 수 있으며, 시작
N x M 크기의 직사각형 형태의 미로에 여러 마리의 괴물이 있어 이를 피해 탈출해야 한다. 현재 위치는 (1, 1)이고 미로의 출구는 (N, M)의 위치에 존재하며 한 번에 한 칸씩 이동할 수 있다. 괴물이 있는 부분은 0으로, 괴물이 없는 부분은 1로 표시되어 있다
동빈이네 전자 매장에는 부품이 N개 있다. 각 부품은 정수 형태의 고유한 번호가 있다. 어느 날 손님이 M개의 종류의 부품을 대량으로 구매하겠다며 당일 날 견적서를 요청했다. 동빈이는 때를 놓치지 않고 손님이 문의한 부품 M개 종류를 모두 확인해서 견적서를 작성해야 한
가로의 길이가 N, 세로의 길이가 2인 직사각형 형태의 얇은 바닥이 있다.태일이는 이 얇은 바닥을 1(세로) x 2(가로) 의 덮개, 2 x 1 의 덮개, 2 x 2의 덮개를 이용해 채우고자 한다.이때 바닥을 채우는 모든 경우의 수를 구하는 프로그램을 작성하시오.예를
N가지 종류의 화폐가 있다. 이 화폐들의 개수를 최소한으로 이용해서 그 가치의 합이 M원이 되도록 하려고 한다. 이때 각 화폐는 몇 개라도 사용할 수 있으며, 사용한 화폐의 구성은 같지만 순서만 다른 것은 같은 경우로 구분한다. 예를 들어 2원, 3원 단위의 화폐가 있
동빈이네 전자 매장에는 부품이 N개 있다. 각 부품은 정수 형태의 고유한 번호가 있다. 어느 날 손님이 M개의 종류의 부품을 대량으로 구매하겠다며 당일 날 견적서를 요청했다. 동빈이는 때를 놓치지 않고 손님이 문의한 부품 M개 종류를 모두 확인해서 견적서를 작성해야 한
기본으로 다시 돌아가기코테 유형 한번 더 훑고 시작그리디(탐욕법)큰 수의 법칙
개미전사는 부족한 식량을 충당하고자 메뚜기 마을의 식량창고를 몰래 공격하려고 한다. 메뚜기 마을에는 여러 개의 식량창고가 있는데 식량창고는 일직선으로 이어져 있다. 각 식량창고에는 정해진 수의 식량을 저장하고 있으며 개미 전사는 식량창고를 선택적으로 약탈하여 식량을 빼
슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌습니다. 그녀가 만든 프렌즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감했습니다. 원인은 신규 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였습니다. 이 문제를 어떻게 할까 고민한 그녀는 동적으로 게임 시간을