Loading...
2023. 7. 2. 02:29

C++ 알고리즘 기초22 -배열 심화2(최대, 최소 찾기, 정렬하기, 그리디 연습)-

1. 연습문제1 n개의 원소와 q개의 질의가 주어졌을 때 n개의 원소에 대해 각 질의를 수행하는 프로그램을 작성해보세요. 질의의 종류는 다음과 같습니다. 1 a a번째 원소를 출력합니다. 2 a 숫자 a가 있는지를 판단합니다. 만약 있다면 해당 원소가 몇 번째 원소인지를 출력합니다. 숫자 a가 2개 이상 있다면 index가 더 작은 원소를 출력합니다. 만약 a가 없다면 0을 출력합니다. 3 a b a번째 원소부터 b번째 원소까지 순서대로 공백을 사이에 두고 출력합니다. 문제 요구하는대로 구현하면 된다 a번째랑 index가 a인 것은 다르니까 헷갈리지 말고 C++ 특성상 첫 숫자 1,2,3중 하나를 받아 1,2,3인지 체크하고, 1,2면 하나만 더 받고 3이면 2개를 받고 #include using nam..

C++ 알고리즘 기초21 -배열 심화1(C++ 배열 초기화)-

1. 배열 값 참조 i번째 원소는 index i-1번에 위치한다. index 0 1 2 3 arr 1 5 2 8 만약 2번 원소 2를 9로 바꾸고 싶다면, 해당 값을 참조해서, 9를 할당하면 된다. arr[2] = 9; 다음은 2번 원소를 단순히 바꾸는 코드 #include using namespace std; int main() { int arr[4]; for (int i = 0; i > arr[i]; } cout arr[i]; } cout 55 4. 배열 초기화 C++에서는 자바와는 다르게 int 배열을 초기화할때, 기본값으로 0이 들어가지 않고 쓰레기값이 들어간다 그래서 모든 값에 0이 들어가게 초기화하고 싶다면,... // 숫자 별 출현 횟수. int count_ar..

C++ 알고리즘 기초20 -문자열 심화1(마지막 문자 인덱싱, length()함수 overflow 문제, to_string()함수, 문자열의 끝)-

1. 문자열에서 마지막 문자 인덱싱 알파벳으로 이루어진 10개의 문자열과 문자가 하나 주어지면 그 문자로 끝나는 문자열들을 입력에서 주어진 순서대로 출력하는 프로그램을 작성해보세요. string arr[10];으로 string 타입을 원소로 가지는 크기 10의 배열을 선언할 수 있다. 파이썬과 비슷하게 문자열 인덱싱이 가능하지만, 파이썬처럼 s[-1]로 마지막 문자를 가져올 수는 없다.. 음수 인덱스를 사용하지 못한다는 소리 s.length()로 문자열 s의 길이를 가져오고, s.length()-1로 바로 마지막 문자에 접근할 수 있다. #include #include using namespace std; int main() { // 여기에 코드를 작성해주세요. string arr[10]; for(int..

2023. 6. 7. 01:59

C++ 알고리즘 기초19 -반복문 심화3(무한루프 만들기, 비교연산자 주의할점, 반복문에서 i값 가져오기)-

1. 완전수 판별하기 숫자 n이 주어졌을 때, n이 완전수인지 판단하는 프로그램을 작성해보세요. 완전수란 자기 자신을 제외한 약수의 합이 자신이 되는 수를 나타냅니다. 예를 들어 6의 경우 1 + 2 + 3 = 6 이기 때문에 완전수입니다. n이 1000이하니까 $O(\sqrt{n})$으로 나눠볼 필요는 없을 것 같고 1부터 n-1까지 n을 나눠보면서 약수라면 누적합해준 다음에 반복문을 탈출하고 누적합한 값이 n과 같은지 비교해보면 되겠지 #include using namespace std; int main() { // 여기에 코드를 작성해주세요. int n; cin >> n; int answer = 0; for(int i = 1; i < n; i++){ if(n % i == 0){ answer += i..

C++ 알고리즘 기초18 - 반복문 심화2(10의 자리와 1의 자리 구하는 방법 복기)-

1. 조건문 안에 for문 사용 두 개의 정수a, b를 입력받아 큰 수부터 작은 수까지 차례대로 출력하는 프로그램을 작성해보세요. a,b를 입력 받은 다음에, a >= b이면, a부터 b까지 for문으로 1을 감소시키면서 출력하고 a > a >> b; if (a >= b){ for(int i = a; i >= b; i--){ cout

C++ 알고리즘 기초17 -문자열 입력받기, 문자열 길이 구하기(length), 공백을 포함한 문자열 입력받기(getline)-

1. 공백없는 문자열 입력받기 헤더를 사용하고, string 자료형을 선언한 변수에 cin 함수로 공백이 없는 문자열을 입력받는다. #include #include using namespace std; int main() { string str; cin >> str; cout > hello // 출력 hello 다른 언어에서 인덱싱 하는 것처럼 부분 문자들을 참조하기 위한 인덱싱이 가능함 string str = "banana"; cout hello // 출력 5 3. getline() cin함수가 space를 기준으로 입력을 받는데, 만약 space를 포함한 문자열을 하나의 문자열로 입력받고 싶다면, 예를 들어 "hello world"가 입력으로 들어올때, 이를 하나의 문자열로 받고 싶다면, getlin..