일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 장고
- 컴퓨터과학
- 속초여행
- 상속
- 아스키코드
- JavaScript
- BeautifulSoup
- 강원도속초맛집
- FLUTTER
- DOM
- removetooltip
- 부스트코스
- Python
- 추상클래스
- 자바
- 성수동카페
- 알고리즘
- 남양주맛집
- c언어문자열
- python3
- richtext
- 포인터
- pipenv
- 가상환경
- 노마드코더
- 건대입구맛집
- popupmenubutton
- 정렬알고리즘
- 코딩독학
- Django
- Today
- Total
목록Programming Theory/Algorithm (8)
YUYANE

학습 강의 www.boostcourse.org/cs112/lecture/119022/ 버블 정렬 정렬되지 않은 리스트를 오름차순/내림차순으로 정렬하기 위한 알고리즘의 하나이다. 두 개의 요소를 비교하여 정렬해나가는 방식으로 좁은 범위의 정렬에 집중한다. 예를 들어 아래와 같은 7개의 숫자가 임의의 순서로 나열되어 있다. 버블 정렬 알고리즘을 이용하여 오름차순으로 정렬해보자. 0 25 10 17 6 12 9 두 요소 씩 비교하여 첫 번째 요소가 두 번째 요소보다 값이 크다면 두 값을 교환하는 식으로 정렬한다. 0과 25 비교 후 : 0 25 10 17 6 12 9 25와 10 비교 후 : 0 10 25 17 6 12 9 25와 17 비교 후 : 0 10 17 25 6 12 9 이런 식으로 숫자 끝까지 정렬..

학습 강의 www.boostcourse.org/cs112/lecture/119019 www.boostcourse.org/cs112/lecture/119021 메모리와 자료구조, 그리고 배열 컴퓨터 안에는 메모리(RAM)가 있다. 메모리를 바이트 단위의 격자 배열로 취급하면, 문제를 풀어내기 위해 왼쪽에서 오른쪽, 위에서 아래로 나아가는 자료 구조를 이용할 수 있다. 배열은 한 자료형의 여러 값들이 메모리 상에 모여 있는 구조로, 실생활에서 살펴보면 사물함 락커에 비유할 수 있다. 컴퓨터는 배열의 값들에 접근할 때 배열의 인덱스 하나하나를 접근하는데, 마치 사물함 락커를 하나 하나 열어보는 것과 비슷하다. 어떤 값이 배열 어느 곳에 있는 지 찾아보기 위해서, 배열 정렬의 여부에 따라 선형 검색과 이진 검색..

학습 도서 이것이 코딩테스트다 with 파이썬 (한빛미디어, 나동빈 저) 정렬(Sorting) - 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 - 예시 : 오름차순, 내림차순 - 종류 : 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 계수 정렬(Count Sort) - 시간 복잡도(데이터의 개수 N, 데이터 최댓값 K) : O(N+K) - 한계 : 데이터의 크기 범위가 제한 되어 정수 형태로 표현할 수 있을 때에만 사용 가능 - 컨셉 : 데이터의 개수 만큼의 리스트를 선언하고 그 안에 정렬에 대한 정보를 담는다. - 알고리즘 1) 데이터 값의 개수를 원소로 가지고 있는 리스트를 선언한다. 2) 배열의 첫 번째 데이터를 확인한다. 3) '배열의 첫 번째 데이터'를 인덱스로 가지는 데이터에 1을 더한..

학습 도서 이것이 코딩테스트다 with 파이썬 (한빛미디어, 나동빈 저) 정렬(Sorting) - 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 - 예시 : 오름차순, 내림차순 - 종류 : 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 삽입 정렬(Insertion Sort) - 컨셉 : 순서대로 데이터를 확인하며 적절한 위치에 삽입한다. - 알고리즘 1) 첫 번째 데이터는 그대로 둔다. 2) 두 번째 데이터가 첫 번째 데이터보다 큰 지 판단한다. 3) 크다면 그대로 두고, 작다면 첫 번째 데이터의 앞으로 옮긴다. 4) 세 번째 데이터가 두 번째 데이터보다 큰 지 판단한다. 5) 크다면 그대로 두고, 작다면 두 번째 데이터 앞으로 옮긴다. 6) 만약에 세 번째 데이터를 두 번째 데이터 앞으로 옮겼다면..

학습 도서 이것이 코딩테스트다 with 파이썬 (한빛미디어, 나동빈 저) 정렬(Sorting) - 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 - 예시 : 오름차순, 내림차순 - 종류 : 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 선택 정렬(Selection Sort) - 컨셉 : 매 번 가장 작은 것을 선택해서 맨 앞에 놓는다. - 알고리즘 1) 가장 작은 데이터를 선택한다. 2) 맨 앞에 있는 데이터와 바꾼다. 3) 남은 데이터 중에서 가장 작은 데이터를 선택한다. 4) 맨 앞에서 두 번째에 있는 데이터와 바꾼다. ... 전체 소스 코드 array = [ 7,5,9,0,3,1,6,2,4,8 ] for i in range(len(array)): min_index = i for j in ran..
문제 www.hackerrank.com/challenges/find-second-maximum-number-in-a-list/problem?h_r=next-challenge&h_v=zen Find the Runner-Up Score! | HackerRank For a given list of numbers, find the second largest number. www.hackerrank.com 해결 과정 & 코드 1) n과 배열을 이룰 코드(str)를 입력 받는다. n = int(input()) str = input().split(' ') 2) 배열 요소의 크기를 비교하기 위해 모든 요소를 정수로 바꾸어준다. / 배열에 있는 구성요소들을 int로 바꾸어주는 함수 def make_int(str): fo..
문제 www.hackerrank.com/challenges/introduction-to-regex/problem?h_r=internal-search Detect Floating Point Number | HackerRank Validate a floating point number using the regular expression module for Python. www.hackerrank.com 해결 코드 T = int(input()) nums = [] def detect(a): if '.' in a: idx = a.find('.') try: float(a) if len(a) > idx: value = a[idx+1] try: int(value) return True except: return Fal..
1. 예를 들어 문자열 '12345'가 있고, 나는 각 자리수의 합을 구하고 싶다. - 1+2+3+4+5 2. 문자열에 있는 각 숫자를 한 자리씩 읽고 싶을 때, charAt() 함수를 사용하면 된다. - charAt()만 쓰면 아스키 코드 값이 나오는듯? 3. charAt()-'0'까지 적어야 원하는 값을 얻을 수 있다. 백준 11720 문제풀이 코드 import java.util.Scanner; public class _11720 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); String numbers = scanner.next(); int sum=..