백준(36)
-
[ 백준 11720번 ] 숫자의 합
백준 11720번 / 7단계 / 숫자의 합 채점 결과는 다음과 같다 메모리 시간 1번째 방법 1112 KB 4 ms 문제 풀이 아스키 코드값 문자 "0" ~ "9" 은 정수형으론 48 ~ 57이다 정수 0 ~ 9 와 문자 "0" ~ "9" 는 48의 차이가 난다 1. 숫자를 문자열로 입력받아서 공백없이 입력되어 있으므로 각 인덱스마다 - 48을 해주고 sum에 더하면 된다 Input = 54321 Number[0] = 53 - 48 = 5 sum = sum + Number[0] Number[1] = 52 - 48 = 4 sum = sum + Number[1] Number[2] = 51 - 48 = 3 sum = sum + Number[2] Number[3] = 50 - 48 = 2 sum = sum + ..
2021.12.09 -
[ 백준 11654번 ] 아스키 코드
백준 11654번 / 7단계 / 아스키 코드 채점 결과는 다음과 같다 메모리 시간 1번째 방법 1112 KB 0 ms 문제 풀이 아스키 코드 개념과 데이터 자료형을 알면 간단하게 풀 수 있는 문제이다 1. 문자형 변수로 입력을 받고 정수형으로 출력을 해주면 간단하다. Input : chr (A) chr (A) = Dec (65) Output = Dec (65) 아스키 코드는 구글에 검색해서 아스키 코드표를 참고하면 된다 코드 #include #include using namespace std; int main() { char ch; scanf("%c", &ch); printf("%d", ch); }
2021.12.05 -
[ 백준 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 -
[ 백준 4344번 ] 평균은 넘겠지
백준 4344번 / 5단계 / 평균은 넘겠지 채점 결과는 다음과 같다 메모리 시간 1번째 방법 1112 KB 0 ms 문제 풀이 학생 수 n과 학생 점수 student 배열을 반복적으로 입력받을 사이클 변수 c를 선언해 준다. 1. 학생 수 n 만큼 학생 점수를 입력받고 합계 변수 sum에 학생 점수를 반복을 돌리면서 더해준다, 반복이 끝나면 평균 변수 avg에 평균을 구해 대입해 준다 n = 2 student [0] = 40 student [1] = 60 sum += student [0] sum = 40 sum += student [1] sum = 100 avg(50) = sum(100) / n(2) 2. 입력받은 학생 점수들 중 학생 수만큼 반복을 하면서 평균 변수 avg 보다 높으면 카운팅 변수 c..
2021.11.22