프로그램 개발/미분류 58

[MIT] 파이썬을 이용한 알고리즘의 이해 - 계산 모델

BoostCourse의 "[MIT]파이썬을 이용한 알고리즘의 이해" 강의 내용을 정리한 글입니다. ✔ 알고리즘이란? - 문제 해결을 위한 계산 과정 - 컴퓨터 프로그램의 수학적 추상화 ⭐ 계산 모델은 알고리즘이 할 수 있는 연산과 그 연산에 걸리는 비용(시간, 공간, ...)을 결정합니다. 각각의 연산의 비용을 계산하여 전부 더하면 알고리즘의 총 비용이 됩니다. 이번 강의에서는 2가지 계산 모델을 살펴봅니다. ⭐ 각 연산마다 시간 비용이 있는데 그것들을 모두 더하면 알고리즘의 실행 시간이 됩니다. ✔ 임의 접근 머신(Random Access Machine) - 거대한 배열로 만들어진 임의 접근 기억장치 - O(1) 레지스터(각 1개의 워드) - O(1) 시간 안에 할 수 있는 일 - 레지스터에 있는 워드..

[MIT] 파이썬을 이용한 알고리즘의 이해 - 알고리즘적 사고: 극댓값 찾기

BoostCourse의 "[MIT]파이썬을 이용한 알고리즘의 이해" 강의 내용을 정리한 글입니다. ✔ 극댓값이란? 주위의 모든 값들이 현재의 값보다 작은 값입니다. 즉, 주위의 모든 값보다 현재의 값이 큰 값입니다. 극댓값을 최댓값으로 생각할 수도 있지만, 극댓값이 항상 최댓값인 건 아니지만 최댓값은 항상 극댓값입니다. 이번 강의에서는 1차원과 2차원으로 나누어서 각 차원에서 극댓값을 구합니다. 그리고 그 과정에서 사용한 알고리즘과 사용한 알고리즘의 시간복잡도에 대해서 알아봅니다. 시간복잡도와 배열에 대해서 미리 알고 계시면 이해하기 편합니다. ✔ 1차원의 경우 위와 같은 알파벳 1차원의 배열이 존재한다고 할 때 b≥a이고 b≥c이면 2번 위치가 극댓값입니다. 혹은 i≥h이면 9번 위치가 극댓값입니다. ..

QGIS 다운로드

https://www.qgis.org/ko/site/forusers/index.html 사용자를 위한 정보 상업적 지원 사용자의 회사나 조직에서 QGIS를 사용하실 계획이지만, 상업적인 지원을 받을 수 있는지 걱정되신다면? 여기에 연락해보실 목록이 있습니다. www.qgis.org 위의 사이트에 들어가서 [설치프로그램 받기]를 클릭합니다. 자신의 버전에 맞는 설치 프로그램을 선택합니다. 다운로드를 진행합니다. 실행하면 다음과 같습니다.

PowerMockUp - 파워포인트로 프로그램 설계를 간편하게

저는 기획을 할 때 1차적으로 종이에 아이디어를 펼쳐 놓은 다음 파워포인트로 프로그램 스토리를 설계하는 편입니다. 파워포인트로 작업을 하면 지원되는 도형도 많고 정렬하기도 쉽습니다. 하지만 매번 각 컨트롤들을 새롭게 그려야 한다는 불편함이 있습니다. 거기다가 사용자가 보기에 깔끔하게 그리기는 더욱이 쉽지 않습니다. 이런 불편함을 줄여주는 아주 획기적인 프로그램을 찾았습니다. 바로 PowerMockUp이라는 프로그램입니다. 설치와 사용법 또한 간단한 편입니다. 체험판을 우선적으로 다운 받은 뒤 사용해 보았습니다. 우선 설치방법은 다음과 같습니다. 1. http://www.powermockup.com/ 에 접속합니다. 2. [DOWNLOAD TRIAL] 버튼을 클릭합니다. 3. 다운로드된 파일을 실행시킨 후..

[LeetCode/Python]Array and String - Longest Common Prefix

문제 Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "". 문자열 배열 중에서 가장 긴 공통 접두사 문자열을 찾아서 반환합니다. 공통 접두사가 없는 경우는 빈 문자열("")을 반환합니다. Input : ["flower", "flow", "flight"] Output : "fl" 이번 문제는 효율성도 생각하지 못할 만큼 문제를 푸는데 급급했던 문제였습니다. 제 코드는 참고만 하시고 다르게 풀어보시는 것을 권유드립니다. 제 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 파이썬 코드 class Solut..

[LeetCode/Python]Array and String - Implement strStr()

문제 Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. haystack에서 needle이 처음 발견된 인덱스를 반환하거나 인덱스가 발견되지 않는다면 -1을 반환합니다. Input : haystack = "hello", needle = "ll" Output : 2 이 문제도 저는 알고리즘으로 풀었다기보다 기존 함수를 이용했습니다. 참고만 하시길 바랍니다. 추후에 알고리즘으로 푼다면 추가하도록 하겠습니다. 제 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 파이썬 코드 find를 이용하여 간단하게 풀었습니다. class Solution: def strStr(self, ..

[LeetCode/Python]Array and String - Add Binary

문제 Given two binary strings, return their sum (also a binary string). The input strings are both non-empty and contains only characters 1 or 0. 2진수 a와 b를 입력받아서 더한 값을 출력하는 문제입니다. 제 코드는 완벽한 답이 아닙니다. 그래서 이번에는 다른 사람의 풀이도 같이 첨부했습니다. 참고만 하시길 바랍니다. 제 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 파이썬 코드 나의 풀이 class Solution: def addBinary(self, a: str, b: str) -> str: return bin(int(a, 2)+int(b, 2))[2:] 다른 사람의 풀이 class ..

[LeetCode/Java]Array and String - Immutable String : Problems & Solutions

나중에 다시 찾아보기 위한 한글 번역 및 요약 Java의 경우 문자열의 중간을 변경하지 못하는 문제와 문자열 추가 시 시간이 오래 걸리는 문제가 있습니다. 이 문제에 대한 해결책입니다. 1. 문자열 수정 작업 문자열을 수정하기 위해서는 문자 배열(char[])을 이용하여 수정할 수 있습니다. public class Main { public static void main(String[] args) { String s = "Hello World"; char[] str = s.toCharArray(); str[5] = ','; System.out.println(str); } } 2. 문자열 추가 작업 public class Main { public static void main(String[] args) { ..

[LeetCode/Java]Array and String - Introduction to String

나중에 다시 찾아보기 위한 한글 번역 및 요약 문자열 소개 문자열은 실제로 유니 코드 문자의 배열입니다. 배열에서 사용한 거의 모든 작업을 수행할 수 있습니다. 그러나 몇 가지 차이점이 있습니다. 문자열을 다룰 때 알아야 할 몇 가지 사항을 살펴보겠습니다. 이러한 기능은 언어마다 많이 다를 수 있습니다. 기능 비교 문자열에는 자체 비교 기능이 있습니다. 하지만 사용하는 언어가 연산자 오버 로딩을 지원하느냐에 따라서 "==" 연산자를 사용하여 비교가 가능하거나 불가능합니다. Java의 경우 연산자 오버 로딩을 지원하지 않기 때문에 "=="를 사용하여 두 문자열을 비교할 수 없습니다. "=="를 사용하면 실제로 이 두 개체가 동일한 개체인지 비교해야 합니다. 코드로 확인해 보시면 이해하시기 편합니다. pub..

[LeetCode/Python]Array and String - Pascal's Triangle

문제 Given a non-negative integer numRows, generate the first numRows of Pascal's triangle. 입력받은 수만큼 파스칼 삼각형의 수들을 배열에 넣어서 출력한다. 파스칼 삼각형 https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%8A%A4%EC%B9%BC%EC%9D%98_%EC%82%BC%EA%B0%81%ED%98%95 파스칼의 삼각형 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 파스칼의 삼각형(Pascal's triangle)은 수학에서 이항계수를 삼각형 모양의 기하학적 형태로 배열한 것이다. 이것은 블레즈 파스칼� ko.wikipedia.org 예) Input..

728x90