본문 바로가기

C++16

[코딩테스트/백준 알고리즘] 1065번 : 한수 (C++ 풀이) 문제 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 자료구조 - int input : 입력받은 수 - int count : 개수 카운트 - int hunds : 백의 자리 - int tens : 십의 자리 - int units : 일의 자리 알고리즘 - 브루트 포스 방식으로 1부터 N까지 모든 수를 검사 코드 - 입력이 한자리, 두 자리, 세 자릿수 일 경우를 나눠서 처리했음 - 100미만인 수는 모두 한수이기 때문에 입력이 한자리 수, 두.. 2022. 1. 12.
[백준 알고리즘/ C++] BOJ.10989 : 수 정렬하기 3 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 자료구조 - int num : 입력 수 - int temp : 입력받은 수 - int count_sort[] : 카운트 할 배열 알고리즘 - 입력 개수가 천만개가 들어오면 메모리 제한을 넘어버려서 일반적인 정렬 알고리즘은 쓸 수 없었음 - 수가 10,000으로 제한되어 있기 때문에 이 경우 카운트 정렬을 통해 풀어도 되겠다고 생각함 코드 - C++에서 표준입출력으로 쓰는 cin이랑 cout는 실행시간이 느.. 2022. 1. 11.
[코딩테스트/ 백준 알고리즘] BOJ.7568 : 덩치 (C++ 풀이) 문제 https://www.acmicpc.net/problem/7568 풀이 자료구조 - int num : 입력의 수 - int body[ ][0] : 체중 , int body[ ][1] : 키 - int rank[ ] : 순위 알고리즘 - i번째랑 i+1번째 신체 조건 비교, i가 i+i보다 덩치가 작으면 rank[i]의 값을 증가시킴 - 모든 요소들을 비교해야 하기 때문에 브루트포스 방식을 사용 코드 #include using namespace std; int main() { int num = 0; int body[50][2] = {0}; int rank[50] = {0}; cin >> num; //입력 for (int i = 0; i > body[i][0] >> b.. 2022. 1. 7.
[백준 알고리즘 / C++] BOJ.1427 : 소트인사이드 문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 자료구조 - string 또는 char을 사용한 문자형 배열 - 입력을 최대 10억의 숫자가 아니라 10글자짜리 문자열로 봐야함 알고리즘 - 정렬 알고리즘 사용 - 입력 개수가 10이 최대라 버블 정렬을 사용해도 될 듯함 - 버블 정렬의 시간 복잡도 O(n²) 코드 - C++은 string이라는 문자열을 처리하기에 유리한 변수가 있기 때문에 사용 - getline() 함수를 사용하면 문장을 개행문자(\n) 전까지 한 번에 입력받을 수 있음 코드 #include #inclu.. 2022. 1. 2.