본문 바로가기

Pro Developer/BaekJoon(DataStructure & Algorithm)16

[알고리즘] 버블 정렬 (Python) Do it! 알고리즘 코딩테스트: 파이썬 편과 자료구조 과목 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 버블 정렬에 대해 학습합니다. I) 버블 정렬 이론 버블 정렬은 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식이다.시간 복잡도는 O(n^2)으로 다른 정렬 알고리즘보다 느리다 loop를 돌면서 인접한 데이터 간의 swap 연산으로 정렬한다. -> loop를 1번 돌 때 1개의 위치가 결정된다.특정 loop 전체에서 swap이 1번도 발생하지 않았다면 데이터가 모두 정렬되었다는 뜻으로 프로세스를 종료해도 된다. 예를들어 보자면 크기가 4인 배열이 다음과 있다고 하자 1회차: 가장 큰 수 10이 정렬된다. 정렬횟수 3회 2회차: 두번째 큰 수 6이 정렬된다. 정렬횟수 2회.. 2023. 2. 6.
[백준 1459번] 걷기 (Python) 백준 1459번과 자료구조 과목 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 백준 1459번에 대해 학습합니다. https://www.acmicpc.net/problem/1459 1459번: 걷기 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 ( www.acmicpc.net I) 문제 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 (X, Y)에 위치한 집으로 가려고 한다. 세준이가 걸을 수 있는 방법.. 2023. 1. 24.
[백준 11501번] 주식 (Python) 백준 11501번과 자료구조 과목 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 백준 11501번에 대해 학습합니다. https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net I) 문제 홍준이는 요즘 주식에 빠져있다. 그는 미래를 내다보는 눈이 뛰어나, 날 별로 주가를 예상하고 언제나 그게 맞아떨어진다. 매일 그는 아래 세 가지 중 한 행동을 한다. 주식 하나를 산다. 원하는 만큼 가지고 있는 주식을 판다. 아무것도 안한다. 홍준이는 미.. 2023. 1. 23.
[백준 11659번] 구간 합 구하기 (Python) Do it! 알고리즘 코딩테스트: 파이썬 편과 자료구조 과목 학습 후 정리한 포스팅 입니다. 이번 포스팅에서는 백준 11659번에 대해 학습힙니다. I) 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. II) 입력 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. III) 출력 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. IV) 제한 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N V) 트러블 슈팅 1 N, M = map(int.. 2022. 12. 30.