알고리즘(3)
-
[11004] K번째 수 #파이썬 #백준 #퀵정렬
백준 문제풀이 python No. 11004 K번째 수 #파이썬 #백준 #문제풀이 #11004 K번째 수 11004번: K번째 수 (acmicpc.net) 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 이번 글에서는 퀵정렬을 구현하는데 중점을 둔다. 예제 입력 1 5 2 4 1 2 3 5 예제 출력 1 2 // 알고리즘 가장 중요한 목적이 무엇인지? 파이썬 라이브러리에서 제공해주는 .sort()함수를 사용해서 풀어본다. 퀵정렬을 구현해보고 최악의 경우 O(n^2)의 시간복잡도를 가진다는 것을 확인한다. 그리고 병합정렬도 구현하여 시간복잡도 제한에서 통과한다. 왜..
2023.04.04 -
프로그래머스 숨어있는 숫자의 덧셈 (2) 파이썬 테스트 2,3,4,5,6,7 실패 해결
프로그래머스 문제풀이 python No. 숨어있는 숫자의 덧셈(2) #파이썬 #프로그래머스 #문제풀이 # 숨어있는 숫자의 덧셈(2) https://school.programmers.co.kr/learn/courses/30/lessons/120864 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 글에서는 python을 이용하여 문자열에서 숫자로 오고가는 방법에 중점을 둔다. // 알고리즘 가장 중요한 목적이 무엇인지? 문자열을 슬라이싱하는 방법이다. 거기서 숫자에 해당하는 부분만 추출하고, 추출한 숫자를 다시 합쳐야한다. 왜 이런 방법을 선택했는지? ..
2023.04.03 -
[알고리즘] log(N^2)의 정렬, #버블정렬 #bubbleSort
O(n2)의 시간 복잡도를 가지는 정렬 알고리즘 목차 1. 버블 정렬(Bubble sort) 2. 선택 정렬(Selection Sort) 3. 삽입 정렬(Insertion Sort) 4. 쉘 정렬 (Shell Sort) 정렬은 데이터를 정해진 기준에 따라 배치해 의미 있는 구조로 재설정하는 것을 말한다. def bubbleSort(x): length = len(x)-1 for i in range(length): for j in range(length-i): if x[j] > x[j+1]: x[j], x[j+1] = x[j+1], x[j] return x 1. 버블 정렬 (bubble sort) - 간단하게 구현할 수 있다. - 속도가 느리다. - 이웃하는 두 거품을 크기순으로 swap 한다고 생각하면 된..
2023.03.28