본문 바로가기
728x90

알고리즘/코드19

백준 2178 미로 탐색 python (BFS 최단거리) 미로 탐색은 BFS 너비탐색을 이용한 최단 거리 구하기의 대표적 문제다. Node 객체에는 x좌표, y좌표 그리고 최단거리를 구하기 위한 거리를 정의했다. 1. 출발 위치 Node 를 큐에 넣고 2. next_visit함수를 이용해 갈수 있는 Node를 큐에 담는다 3. 큐에 Node를 하나씩 꺼내서 탐색한다. 4. 이때 방문한 Node의 좌표를 visit 배열에 넣어 갔던 곳은 가지 않도록 한다. 5. 도착점에 도착할때까지 반복 class Node: def __init__(self,x,y,dist = 1): self.xSpot = x self.ySpot = y self.dist = dist #좌표 반환 def get_xy(self): return (self.xSpot, self.ySpot) def ne.. 2019. 10. 12.
2020 KAKAO BLIND RECRUITMENT 가사 검색 (Trie) 문자열 검색 알고리즘중 Trie가 가장 효율적이라고 들어서 python으로 Trie 구현해서 풀었다. 접미사의 경우엔 reverse해서 탐색하도록 함 Trie 구현 class Node(object): def __init__(self, key, data=None): self.key = key self.data = data self.children = {} class Trie(object): def __init__(self): self.head = Node(None) def insert(self, string): curr_node = self.head for char in string: if char not in curr_node.children: curr_node.children[char] = Node(c.. 2019. 10. 5.
백준 11047 동전0 C# 그리디 알고리즘 중 가장 첫번째 스탭이었는데 사실 그리디 알고리즘이 먼지도 모르고 그냥 단순한 생각대로 풀었다. ...더보기 그리디 알고리즘 (탐욕 알고리즘) 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. using System; namespace c_bjcoding { class MainClass { public static void Main(string[] args){ int count = 0; string[] input = Console.ReadLine().Split(' '); int num =int.Parse(input[0]); int target_value .. 2019. 7. 14.
백준 10039 평균 점수 swift swift 까지 깔짝대는 중 .. func run(){ //input var students = Array() var sum : Int = 0 for _ in 0.. 2019. 1. 10.
백준 2577 숫자의 개수 C# using System; namespace Application { class MainClass { public static void Main(string[] args) { int inputNum1, inputNum2, inputNum3, mulNum; int[] array = new int[10]; Array.Clear(array, 0, array.Length); //input inputNum1 = Convert.ToInt32(Console.ReadLine()); inputNum2 = Convert.ToInt32(Console.ReadLine()); inputNum3 = Convert.ToInt32(Console.ReadLine()); mulNum = inputNum1 * inputNum2 * inpu.. 2019. 1. 9.
백준 2920 음계 go 언어 package main import "fmt" func main(){array := [8]int{0,}//inputfor i := 0; i array[i+1] && ( result == "" || result == "descending"){result = "descending"} else {result = "mixed"break;}}fmt.Println.. 2019. 1. 9.
728x90