[백준] 5597번 : 과제 안 내신 분..? (C++)
문제 풀이 array의 원소를 모두 0으로 초기화한 후, for문과 arr[입력된 숫자]를 1로 저장했다. 결론적으로, arr[i] == 0이라면 출력되게 하였다. array를 모두 0으로 초기화하려면, int arr[31] = { 0, };// array를 모두 0으로 초기화 만약, array를 0이 아닌 다른 수로 초기화하기 위해서는 헤더 파일에 포함되어 있는 fill 또는 fill_n 함수를 사용하면 된다. fill(변경하려는 원소의 범위 시작주소, 종료주소, 변경 값) fill_n(변경하려는 원소의 범위 시작주소, 원소의 개수, 변경 값) std::fill(arr, arr + 31, -1)// fill(변경하려는 원소의 범위 시작주소, 종료주소, 변경 값) std::fill_n(arr, 31, -..
2024. 3. 5.
[백준] 1978번 : 소수 찾기 (C++)
문제 풀이 int 변수 N, num, decimal(소수의 개수), count(0이라면 소수X, 아니라면 소수O)를 선언했다. 소수는 1과 자기자신으로 나누었을 때만 나머지가 0이 된다. 반대로, 소수가 아닌 경우에는 1과 자기 자신 사이의 수로 나누면 나머지가 0이 되는 것을 이용했다. 아래의 코드와 같이, 소수가 아니라면 count++를 하였다. for문을 빠져나왔을 때 count == 0이라면 소수이므로 소수의 개수를 의미하는 변수인 decimal을 증가시켰다. 예를 들어, num = 9, j = 3이라면, 9 % 3 = 0이다. 이는 소수가 아니므로 count를 증가시킨다. for문을 빠져나오면 count == 0인지 확인하는 if문을 통해, 소수라면 변수 decimal을 증가시킨다. for (i..
2024. 2. 21.