코딩테스트/programming_C++28 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. baekjoon #10818_최소, 최대_c++ std::ios_base::sync_with_stdio(false); - ios_base::sync_with_stdio(false); 코드를 작성해줌으로써 동기화를 비활성화 - c++만의 독립적인 버퍼가 생성되어 c의 버퍼와 병행하여 사용할 수 없게 됨 - 사용하는 버퍼의 수가 줄어들어 실행 속도는 빨라지게 됩니다. - 멀티 쓰레드 환경에서는 출력 순서를 보장할 수 없다는 것이 단점 cin.tie(null); - cin.tie(null); 코드는 cin과 cout의 묶음을 풀어줌 - 기본적으로 cin과 cout은 묶여있고, 묶여있는 스트림들은 한 스트림이 다른 스트림에서 각 IO 작업을 진행하기 전에 자동으로 버퍼를 비워줌을 보장 #include int main() { std::ios_base::sync.. 2021. 10. 24. baekjoon #10951_A+B - 4_c++ EOF 문제 scanf()를 EOF와 직접 비교하는 방법 #include int main() { int A, B; while (scanf("%d %d", &A, &B) != EOF) { printf("%d\n", A + B); } return 0; } - EOF는 End Of File을 의미함 - 파일의 끝에 도달하면 EOF를 리턴 2021. 10. 24. 이전 1 2 3 4 5 다음