본문 바로가기
알고리즘/자료구조

자료구조 - 배열, 리스트, 벡터 / 구간 합

by sim0609 2023. 1. 6.

배열

: 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조

  • 새로운 값 삽입, 삭제 어려움. 삽입 삭제시 주변에 값을 이동시켜야 함
  • 배열의 크기 선언할 때 지정 가능, 한 번 선언하면 크기를 늘리거나 줄일 수 없음

리스트

: 값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조

  • 포인터로 연결되어 삽입 삭제 연산 속도가 빠름
  • 크기를 별도로 지정하지 않아도 됨
  • 인덱스가 없어 head 포인터부터 순서대로 접근

벡터

: 동적 배열의 형태

  • 동적으로 원소 추가 가능, 크기가 자동으로 늘어남
  • 인덱스를 이용해 각 데이터에 직접 접근 가능

벡터 사용법

백준 - 11720: 숫자의 합 구하기

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

공백 없이 쓰인 숫자의 합 출력

나의 풀이

백준 - 1546: 평균 구하기

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

나의 풀이

백준 - 11659: 구간 합 구하기1

https://www.acmicpc.net/problem/11659

 

11659번: 구간 합 구하기 4

첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j

www.acmicpc.net

나의 풀이 - 합 배열을 이용하지 않은 경우

나의 풀이 - 합 배열을 이용한 후 + 피드백

백준 - 11660: 구간 합 구하기2

https://www.acmicpc.net/problem/11660

 

11660번: 구간 합 구하기 5

첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네

www.acmicpc.net

문제 접근은 구간 합 구하기 1과 유사, 하지만 벡터 사용과 공식 도출에 유의

나의 풀이 - 합 배열을 이용한 후 + 피드백

'알고리즘 > 자료구조' 카테고리의 다른 글

슬라이딩 윈도우2  (0) 2023.01.11
스택과 큐-1  (0) 2023.01.10
슬라이딩 윈도우1  (0) 2023.01.09
자료구조 - 투 포인터  (0) 2023.01.07
시간복잡도 관련 예제  (0) 2023.01.05