Pink Transparent Star

분류 전체보기 161

[ 베어뉴 빡공단 ] 언리얼 5 클래스 수강 시작

베어뉴 빡공단으로 하루 10분 강의를 듣고 30일간 습관을 만드는 대외활동으로 홍보를 하고있는걸 보았다. 항상 열심히 해야지! 생각하고 몇일 열심히 하다가 한번 놓치고 안해버리는 식어버리는 나쁜 습관을 고치기를 다짐해왔는데 이번 빡공단으로 매일 출석과 인증글을 올리면서 공부하는 습관을 가질 수 있을 것 같아 무작정 신청을 하였다. 물론 빡공단같은 경우 신청한다고 바로 가능한게 아니라 신청한 사람 중 선발이 되어야한다고 하여 기다리는 중 9.8 : 1의 경쟁률에서 대상자로 선발되었다고 카톡으로 알림톡이 왔다. 언어, 디자인, 개발, 마케팅 등 40개의 강의 중 그동안 찍먹만 해온 언리얼 5과목을 신청을 하였다. 과목을 수강할 땐 무료로 강의를 듣는게 아닌 할인 코드를 제공 받아 360,000원 강의를 59..

[ 백준 ] 11720번 숫자의 합 구하기

문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. #include #include #include #include using namespace std; int main() { int count = 0; string num; vector v; int sum = 0; cin >> count; cin >> num; for (int i = 0; i < num.length(); i++) { int inum = num[i] - '0'; v.push_back(inum); } sum = accumulate(v.begin(), v.end(), 0); cout

Coding Test/백준 2024.01.30

[ Do it! 알고리즘 코딩 테스트 ] 6일차 _ 04. 삽입 정렬

삽입 정렬(Insertion Sort)이란? 이미 정렬된 데이터 범위에 정렬되지 않은 데이터를 적절한 위치에 삽입해 정렬하는 방식 시간 복잡도는 O(n^2)로 느린 편 매 순서마다 해당 원소를 삽입할 수 있는 위치를 찾아 해당 위치에 삽입 삽입 정렬 수행과정 🔹현재 Index에 있는 데이터 값을 선택 🔹현재 선택한 데이터가 정렬된 데이터 범위에 삽입된 위치를 탐색 🔹삽입 위치부터 index에 있는 위치까지 shift 연산 수행 🔹삽입 위치에 현재 선택한 데이터를 삽입하고 index++ 연산 수행 🔹전체 데이터의 크기만큼 index가 커질 때까지 수행 ( 선택할 데이터가 없을 때까지 반복 수행 ) 탐색하는 부분에서 이진 탐색과 같은 탐색 알고리즘을 통해 시간 복잡도를 줄일 수 있다. 관련 문제 [ 백준 ]..

[ Do it! 알고리즘 코딩 테스트 ] 5일차 _ 04. 선택 정렬

선택 정렬 : 대상 데이터에서 최대나 최소 데이터를 나열된 순으로 찾아가며 선택하는 방법 구현 방법이 복잡하고, 시간복잡도는 O(n^2)으로 효율적이지 않아 코딩 테스트에서는 사용하지 않음 1. 남은 정렬 부분에서 최솟값 또는 최댓값을 찾는다. 2. 남은 정렬 부분에서 가장 앞에 있는 데이터와 Swap한다. 3. 가장 앞에 있는 데이터의 위치를 변경해 남은 정렬 부분의 범위를 축소 4, 남은 정렬 부분이 없을 때까지 정렬

[ Do it! 알고리즘 코딩 테스트 ] 5일차 _ 04. 버블 정렬

정렬 알고리즘 정의 버블 선택 삽입 퀵 병합 기수 버블 정렬 : 두 인접한 데이터의 크기를 비교하여 Swap 연산으로 정렬하는 방법 시간복잡도 O(n^2) 으로 다른 정렬 알고리즘에 비해 속도가 느린 편 버블 정렬 과정 1. 비교 연산이 필요한 루프 범위 설정 2. 인접한 데이터 값을 비교 3. swap 조건에 부합하면 swap 연산을 수행 4. 루프 범위가 끝날 때까지 반복 5. 정렬된 영역을 설정한다. 다음 루프를 실행할 때는 이 영영을 제외 6, 비교 대상이 없을 때까지 반복 문제 [ 백준 ] 2750번 버블 정렬 - 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N..

[ 백준 ] 1874번 스택 수열

https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수..

Coding Test/백준 2024.01.26

[ Do it! 알고리즘 코딩 테스트 ] 4일차 _ 03. 스택과 큐

스택 : 삽입과 삭제 연산이 후입선출로 이뤄지는 자료구조 스택 용어 top : 삽입과 삭제가 일어나는 위치를 말함 push : top 위치에 새로운 데이터를 삽입하는 연산 pop : top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산 top : top 위치에 현재 있는 데이터를 단순 확인하는 연산 코딩테스트 사용 문제 깊이 우선 탐색(DFS), 백트래킹 종류의 코딩 테스트에 효과적 후입선출의 개념은 재귀 함수 알고리즘 원리와 일맥상통 큐 : 삽입과 삭제 연산이 선입선출로 이뤄지는 자료 구조, 스택과 다르게 먼저 들어온 데이터가 먼저 빠져나감 큐 용어 back : 큐에서 가장 끝 데이터를 가리키는 영역 front : 큐에서 가장 앞의 데이터를 가리키는 영역 push : back 부분에 새로운 데이터를..

[ Do it! 알고리즘 코딩 테스트 ] 3일차 _ 03. 슬라이딩 윈도우

슬라이딩 윈도우(Sliding Window) : 투 포인터와 유사하게 2개의 포인터로 범위를 지정, 범위(Window)를 유지한 채로 이동하며 문제를 해결하는게 특징 교집합의 정보를 공유하고, 차이가 나는 양쪽 끝 원소만 갱신하는 방법 슬라이딩 윈도우와 투 포인터 차이 투 포인터 슬라이딩 윈도우 구간의 넓이가 조건에 따라 유동적으로 변경 항상 구간의 넓이가 고정 관련 문제

[ Do it! 알고리즘 코딩 테스트 ] 2일차 _ 03. 배열. 리스트. 백터

자료구조 배열 : 메모리의 연속 공간에 값이 채워져 있는 형태 🔸인덱스를 사용하여 바로 값에 접근 가능 🔸새로운 값을 삽입하거나 인덱스의 값을 삭제하기 어려움 🔸선언할 때 배열의 크기를 선언해야하며, 한번 선언 할 경우 늘리거나 줄이기 어려움 리스트 : 값과 포인터를 묶는 노드 🔸인덱스가 없어 값에 접근할 경우 Head 포인터부터 순서대로 접근 ➔ 값에 접근하는 속도가 느림 🔸데이터를 삽입, 삭제의 연산 속도가 빠름 ➔ 포인터로 연결되어 있기 때문 🔸선언할 때 크기를 선언하지 않음 ➔ 크기가 변하기 쉬운 데이터를 다룰 때 적절 🔸포인터를 저장할 공간이 필요하여 배열보다 구조가 복잡 백터 : C++ 표준 라이브러리에 있는 자료구조 컨테이너 중 하나 🔸동적으로 원소를 추가가능하며 크기가 자동으로 늘어남 🔸맨..