일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- comdef
- 출력 명령어
- docker context create
- 백준
- docker
- ci/cd
- zshrc error
- DevOps
- 리눅스
- 지속적 전달
- 코드스테이츠
- 수직확장
- char 입력
- cli
- 프로세스
- 설치형 SW
- SSAFY입학
- Java 입력
- c++
- 웹 SW
- neofetch
- mysql
- 홈 디렉토리
- dfs
- fastify
- MongoServerSelectionError
- 부트캠프
- ECS
- OpenSearch
- fastify-cli
- Today
- Total
목록알고리즘/C&C++ (7)
다디와 괴발개발
문제 https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. 총 N개의 줄에 걸쳐서 문제의 정답을 인접행렬 형식으로 출력한다. 정점 i에서 j로 가는 경로가 있으면 i번째 줄의 j번째 숫자를 1로, 없으면 0으로 출력해야 한다. 풀이 입력 데이터를 바탕으로 그래프를 그려서 i 노드에서 j로 가는 경로가 있으면 1, 없으면 0으로 채워주는 문제. 문..
문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 ..
https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 파이썬에서는 간단히 문자열을 split 함수를 이용하면 되지만 c++은 다소 복잡하다.공백을 제외한 단어를 추출해야하므로 sstream 헤더의 stringstream을 이용하여 문제를 해결하..
큐(Queue)란? 박스처럼 입출력이 한곳에서 진행되는 스택과 다르게 front와 rear이 존재하며 rear로 데이터가 들어가고 front에서 데이터가 나오게 된다. FIFO (First In First Out, 선입선출)로, 가장 먼저 들어온 데이터가 가장 먼저 나온다. 일반 큐의 단점은 큐에 빈 메모리가 남아있어도, rear가 끝에 도달한 경우 꽉 찬 경우로 판단 할 수 있다. 이를 개선한 것이 Circular Queue (원형 큐)이다. 원형 큐는 초기 공백 상태일 때 front와 rear이 0으로 초기화 되어있으며, 공백 및 포화 상태를 쉽게 구분하기 위해 자리 하나를 비워두는 것이 핵심이다. 또한, 원형 큐는 (index+ 1) % size 로 순환시킬 수 있다. C++로 원형 큐를 구현하기 ..
스택(Stack) 이란? 입출력이 한 곳으로 제한 되어있는 형태의 자료구조. LIFO (Last in First OUT, 후입 선출)로, 가장 마지막에 들어간 데이터가 가장 먼저 나온다. 스택에서 가장 중요한 요소는 스택의 현재 위치를 가리키는 '스택 포인터(SP)' 라고 할 수 있다. 스택 포인터를 통해 스택이 비어있는지, 가득찼는지, 다음 값이 들어갈 위치 밑 삭제되어야 할 위치를 알 수 있다. 스택을 처음 설계할 때, 기본 위치는 -1로 설정한다. C++로 스택을 구현하기 위해 제작한 함수 1. s.push() : 스택의 가장 top 부분에 데이터를 넣기 위한 함수 구현하고자 하는 스택의 길이가 10이므로 스택에 10개의 데이터가 들어가면 더 이상 삽입이 불가능하도록 구현해야한다. 2. s.pop(..
문제 링크 : https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 각 점수를 최고점에 맞춰서 재구성하여 새 평균을 내는 문제이다. 문제 자체는 간단하지만 정리하고 싶은 개념이 있어 포스팅하였다! 1. c++ 빠른 입출력 2. c++ 배열 동적으로 할당하기 3. setprecision 함수 1. C++ 빠른 입출력 c++의 cin과 cout은 scanf, printf에 비해 속도가 매우 느리다고 한다. 입출력의 개수가 적을 경우에는 그냥 사용해..
문제링크 : https://www.acmicpc.net/problem/2588 // 백준 2588번 곱셈 문제 #include using namespace std; int main() { cin.tie(NULL); ios_base::sync_with_stdio(false); int a = 0, b = 0; cin >> a >> b; int b1 = b / 100; //100의 자리수 int b2 = (b - b1*100) / 10; //10의 자리수 int b3 = b - (b1 * 100) - (b2 * 10); //1의 자리수 //(3), (4), (5) 는 차례대로 a와 1의자리수, 10의자리수, 100의자리수를 곱한 값의 결과 cout