문제 설명 💻 실행 코드 📚 문제 풀이 a보다 b가 더 작을 때 swap b보다 c가 더 작을 때 swap 만약 c가 제일 작았을 때는 위에서 swap 되어 b로 이동했기 때문에 다시 a와 b 비교 ✅ 실행 결과 실행결과
가장 큰 직사각형을 구하기 위해서는 a > b > c > d 일 때, a와 c의 곱으로 구할 수 있음위를 구하기 위해 값을 정렬해 주어야 함sort() 함수 이용 sort 알고리즘은 <algorithm> 헤더 파일에 속해 있음sort(start, end)를 이용
vector container란?자동으로 메모리가 할당되는 배열자료구조의 스택과 비슷중간이나 앞, 뒤에서 삽입과 삭제가 가능
pair<type, type> 이란?2개의 각각 지정한 타입의 값을 저장저장한 값은 .first, .second로 접근할 수 있음stable sort() 함수란?정렬해야 할 원소가 같은 경우 sort() 함수로 정렬한다면 어떤 원소가 앞에 올지 예측 불가능stab
unique() 함수란?중복된 원소를 뒤의 쓰레기값으로 보내줌erase() 함수란?원소를 지워줌unique() 함수에서 반환되는 값은 vector의 쓰레기값의 첫번째가 되므로 바로 제거 가능범위 기반 for문각 배열의 요소를 반복하며 선언된 변수에 현재 배열 요소의 값
물건에는 각각의 가치가 부여되고 그 가치를 최대한으로 하면서 배낭에 물건을 집어넣어야 함그렇지만 배낭에는 무게 제한이 있음, 각각 물건에도 무게가 주어짐1 ~ n개의 물건을 탐색하면서 최대한 가치가 높아야 함, 하지만 무게 초과하면 X👉 Knapsack 알고리즘을 사
반복문을 통해 a와 b를 입력받고, 둘 다 0일 때는 종료a / b의 나머지가 0이고 몫이 0보다 클 경우엔 배수이므로 multiple 출력b / a의 나머지가 0이고 몫이 0보다 클 경우엔 약수이므로 factor 출력둘 다 아니라면 neither 출력
n을 입력받고 for문으로 n번 반복첫 번째 대회 상금과 두 번째 대회 상금을 각각 배열 p1, p2에 저장a와 b를 선언해 입력을 받은 후 각각의 등수에 대해 배열에 있는 상금을 더함
먼저 alp 배열에 크로아티아 알파벳 배열을 담아줌getline으로 문자열을 입력받고, n에 문자열의 길이를 담음for문을 통해 문자열의 길이만큼 반복하며 tmp 임시 변수에 substr 함수로 배열의 2글자를 담아줌그리고 추출한 문자열이 alp배열에 있는 원소와 같은
set container란?노드 기반 컨테이너이며 균형 이진트리로 구성key라 불리는 원소들의 집합으로 이루어진 컨테이너key값은 중복이 허용되지 않음insert에 의해 원소가 삽입되면 자동 오름차순set의 사용법set 헤더 파일에 속해 있음 set의 멤버 함수s.be
무려 n이 800자 이하라는 것... 그래서 파이썬으로 노선 변경위 코드로도 풀 수 있음
stack 사용\- stack s\` 선언스택에 n을 2로 나눈 나머지를 넣고 2로 나눠줌n이 0이 되었을 때 스택 출력
문자를 숫자로 변환to_string() 함수 : 문자를 숫자로 변환해줌
재귀 호출을 이용w와 b의 초깃값 true이중 for문으로 반복하고 배열의 값이 1이면 w = false, 0이면 b = false반복문 이후 w와 b가 true라면 각각 white, blue 값 증가하고 함수 종료매개변수 2로 나눠서 재귀 호출
A^n을 A x A x ... A^n 이렇게 곱하면 시간초과빠른 거듭제곱 알고리즘n이 홀수이면 A^n을 A^(n-1)로 바꾸고 A를 결과값에 곱합n이 짝수이면 A^n을 A^2^(n/2)로 바꾸고 A를 제곱하고 n을 2로 나눔n == 0이면 종료
배열을 생성한 뒤 입력을 받음회전 횟수만큼 반복을 하고 배열 크기중 작은 것을 2로 나눈 만큼 반복value, x, y를 j로 초기화해주고 4까지 반복nx와 ny에 우상좌하를 반복하며 값을 더해 넣어주고 만약 nx와 ny가 j랑 같을 때 종료nx와 ny가 j보다 크거나
간선에 대한 가중치가 존재하지 않는 MST이다. 모든 노드를 방문할 수 있는 경로는 존재하므로 최소 간선의 수는 n - 1이 될 수 밖에 없다.그렇기에 n - 1을 출력해 주면 된다.
DFS는 방문할 수 있는 노드가 존재하면 바로 재귀호출로 방문 노드를 출력BFS는 큐를 이용해 큐가 빌 때까지 반복문으로 큐를 출력하고 제거해 나가며 DFS와 같은 조건으로 방문 노드를 출력배열을 이용하기 때문에 방문할 수 있는 노드가 여러 개 있더라도 정점의 수가 작
DFS로 문제 해결먼저 숫자를 하나씩 입력받아 배열에 저장하기 위해 scanf를 사용만약 map\[i]\[j]가 1이라면 집이라는 뜻으로 house 변수를 0으로 초기화하고 DFS 함수를 호출. 그 이후 DFS 함수가 끝난 이후의 house 변수를 벡터에 pushDFS
Minimum Spanning Tree그래프 내의 모든 정점을 표현하는 트리Spanning tree는 그래프의 최소 연결 부분 그래프최소 연결 : 간선의 수가 가장 적다n개의 정점을 가지는 그래프의 최소 간선의 수는 (n-1)이고, (n-1)개의 간선으로 연결되어 있으