본문 바로가기

코딩테스트147

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.
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.