본문 바로가기

분류 전체보기365

baekjoon #1065_한수_c++ 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고함 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말함 N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램 작성 N이 1~9 인 경우 자리수가 하나 뿐이므로 모두 등차수열이라고 할 수 있음 N이 10~99 인 경우 자리수가 두 개 뿐이므로 1 2 이든지 9 5 이든지, 모두 등차수열이라고 할 수 있음 ex) 10 : 길이가 2이고 각 항이 1 0 인 수열로, 공차가 -1인 등차수열임 11 : 길이가 2이고 각 항이 1 1 인 수열로, 공차가 0 인 등차수열임 ... 100 : 길이가 3이고 각 항이 1 0 0 인 수열로, 등차수열이 아님 101 : 길이가 3이고 각 항이 1 0 1 인 수열.. 2021. 10. 25.
baekjoon #4673_셀프넘버_c++ #include bool arr[10001]; //arr[1~10000]까지 이므로 배열의 크기는 10001 // 셀프넘버 판별함수 int d(int n) { int sum = n; // 자기 자신을 첫 값으로 더해줌 while (n != 0) { // 0이 아닐 때 까지 반복 sum += n % 10; n = n / 10; } return sum; } int main() { for (int i = 1; i 2021. 10. 25.
baekjoon #15596_정수 N개의 합_c++ vector 이용 #include long long sum(std::vector &a) { long long ans = 0; for(std::size_t i=0;i 2021. 10. 25.
baekjoon #4344_평균은 넘겠지_c+ 소수점 표현 cout result = cnt / N * 100 = 2 / 5 * 100 = 40 result는 double형으로 정의되었고, 반올림하여 소수점 셋째 자리까지 출력해야하므로, std::cout.setf(std::ios::fixed); std::cout.precision(3); 을 사용하여 40.000을 출력 i=1 , N=7 score[i] 점수 평균을 넘는지 여부 score[0] 100 T socre[1] 95 T socre[2] 90 T socre[3] 80 T socre[4] 70 F socre[5] 60 F socre[6] 50 F sum = 100 + 95 + 90 + 80 + 70 + 60 + 50 = 545 avg = 545 / 7 = 77.85714285714286 ....... 2021. 10. 25.
baekjoon #8958_OX퀴즈_c++ string 클래스 사용 #include #include int main() { int T; std::string str; std::cin >> T; for (int i = 0; i > str; int sum=0, cnt=0; for (std::size_t j = 0; j < str.length(); j++) { if (str[j] == 'O') { cnt++; } else { cnt = 0; } sum += cnt; } std::cout 2021. 10. 25.
baekjoon #2577_숫자의 개수_c++ 생각할 것 - result = A * B * C 로 정의 - result를 10으로 나눈 몫과 나머지를 이용 - 세 자리 수의 곱이므로 최대 999 * 999 * 999를 연산했을 시 result가 997,002,999 이므로, 배열 arr의 크기를 10으로 정의하고 각각 {0}으로 초기화 해놓기 ex) 150, 266, 427 입력 시, result=17037300 result = result / 10 을 반복, result % 10을 반복하면 맨 마지막 숫자부터 각각 몇 개인지 셀 수 있음 result = 17037300 / 10 = 1703730 arr[17037300 % 10] -> arr[0] arr[0]의 개수 증가 / arr[0]=1 result = 1703730 / 10 = 170373 a.. 2021. 10. 24.