6단계(3)
-
[ 백준 1065번 ] 한수
백준 1065번 / 6단계 / 한수 채점 결과는 다음과 같다 메모리 시간 1번째 방법 문제 풀이 이 문제는 일단 한수의 조건인 등차수열에 대해 알아야 한다 문제를 풀기 전에 먼저 예외 케이스부터 찾아봤다 일단 두 자릿수의 수일 경우 각 자릿수의 수열 관계가 1개밖에 없기 때문에 100 미만의 수들은 다 한수 처리를 해주면 된다 예를 들어 42라는 숫자가 있으면 4 -> 2는 -2이고 다음 2라는 숫자 뒤에 수가 없기 때문에 한수가 되는 것이다 이 정보를 토대로 100미만의 숫자는 그 숫자가 다 한수 개수이므로 42라는 숫자를 입력받으면 한수의 개수는 42개인 것이다. 두 번째로 1보다 크고 1000 이하의 숫자를 입력받는 것인데 1000이면 한수 개수는 144개 고정이다. 1. 우선 1부터 정수 n까지의..
2021.12.02 -
[ 백준 4673번 ] 셀프 넘버
백준 4673번 / 6단계 / 셀프 넘버 채점 결과는 다음과 같다 메모리 시간 1번째 방법 1112 KB 0 ms 문제 풀이 생성자에 의해 생성되는 수의 조건은 문제 예시처럼 12이라는 숫자가 있으면 십의 자리와 일의 자리를 분리해서 12 + 1 + 2 = 15라는 수가 나온다 여기서 12는 생성자가 되는 것이고 15는 생성자에 의해 생성된 수이다. 먼저 셀프 넘버 함수를 작성해 준다. 1. 메인 함수에서 정수 n 값을 인자 값으로 넘겨받고 결괏값 변수 result에 n 값을 대입해 준다 n이 0이 될 때까지 조건대로 n 값을 나머지 연산자를 이용해 한 자리씩 떼어서 result에 더해준다 ex) n(12) % 10 = 2 n(12) = n(12) / 10 = 1.2 변수 타입이 정수형이므로 소수점은 버..
2021.11.29 -
[ 백준 15596번 ] 정수 N개의 합
백준 15596번 / 6단계 / N개의 합 채점 결과는 다음과 같다 메모리 시간 1번째 방법 12832 KB 4 ms 문제 풀이 이번 6단계 테마는 함수이므로 I/O 없이 리턴 값만 전달해 주면 된다. 1. 문제 조건 C/C 11(Clang)/C11 은 longlong 형태로 함수를 작성하고 포인터 a / 정수 개수 n 개를 인자 값으로 받아준다. 2. 반복문을 돌려서 결괏값 변수에 ans에 a 배열 i 번째를 더해준다 ans = 0 i = 0 a[0] = 1 ans = 1 i = 1 a[1] = 2 ans = 3 코드 long long sum(int *a, int n) { int i; long long ans = 0; for ( i = 0; i < n; i++ ) ans += a[i]; return a..
2021.11.25