반응형
#include <iostream>
#include <string>
using namespace std;
int main()
{
int size;
string num;
cin >> size;
cin >> num;
int answer = 0;
for (int i = 0; i < num.size(); i++)
{
answer += num[i] - '0';
}
cout << answer << endl;
}
2024의 메모리를 차지하는 코드이다. |
하지만 다른사람의 코드를 보면
#import <cstdio>
int n,a,sum;
main(){
scanf("%d",&n);
while(n--)
{
scanf("%1d",&a);
sum+=a;
}
printf("%d",sum);
}
데이터 크기는 1112KB 이다.
2배 가까이 차이가 나기 때문에 나랑 다른게 무엇일까 고민하다가 문제가 무엇인지 찾았다.
일단 바뀐 코드는
#include <stdio.h>
//#include <iostream>
int main() {
int t, n, sum = 0;
scanf("%d", &t);
while (t--) {
scanf("%1d", &n);
sum += n;
}
printf("%d", sum);
}
결정적인 차이는 cin을 사용 하느냐 마느냐에 차이이다.
https://www.acmicpc.net/blog/view/56
입력 속도 비교
여러가지 언어와 입력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 첫째 줄에 정수의 개수 N (= 10,000,000), 둘째 줄부터 N개의 줄에 한 개의 자연수(10,000 이하)가 적힌 파일
www.acmicpc.net
그리고 iostrea 라이브러리 앞에 주석 처리를 했는데 사용하지 않고 헤더 파일을 불러 오는 것 만으로도 속도 차이가 난다는 것을 알 수 있었다.
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
2908 - 상수 (2) | 2022.12.28 |
---|---|
1157-단어공부 c++ (0) | 2022.12.26 |
2675-문자열 반복 (0) | 2022.12.25 |
10809-알파벳 찾기 (2) | 2022.12.24 |
11654-아스키 코드 (0) | 2022.12.24 |