알고리즘

Archive

LeetCode - Reverse String

class Solution { public: void reverseString(vector& s) { if(!s.at(0)) return; int aPointer = 0; int bPointer = s.size()-1; while(aPointer

Archive

프로그래머스 K번째 수

#include #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; int i, j, k; for(int m = 0 ; m < commands.size(); m++) { i = commands[m][0]; j = commands[m][1]; k = commands[m][2]; vector temp (j - i + 1); for(int n = i ; i

Archive

프로그래머스 - 수포자

문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..

Archive

A* Algorithm 구현

C++ 로 A* 알고리즘을 구현하는데 성공했다. 다익스트라 알고리즘도 직전에 구현했는데 곧 포스팅 하도록 하겠다. A* 알고리즘이란? 길찾기 알고리즘의 일종으로 Openlist, Closedlist, Parent 와 F=G+H 라는 식을 통해 최적의 경로를 찾는다. Openlist 는 경로를 탐색하면서 고려대상으로 포함이 되는 노드들을 말한다. Closedlist는 Openlist 중에 목적지까지의 가장 짧은 거리를 가진 노드들이다. Parent는 현재 노드의 바로 직전 노드, 이걸 통해서 경로를 이어줄 수 있다. F, G, H는 보통 프로그래머가 어떤 식으로 계산하느냐에 따라 달라질 수 있다. 일반적으로 G는 시작노드에서 특정노드까지의 이동거리, H는 특정노드에서 목적노드까지의 이동거리, F는 G+H ..

냉국
'알고리즘' 태그의 글 목록 (2 Page)