728x90

프로그래밍/코딩테스트 5

[백준] 11720번 C,C++ 초기화를 안해 틀려버린

SUM값을 초기화를 하지 않아 연속하여 틀렸었다. 쓰레기 값이 들어가 있을 수 있으므로 초기화 하는 습관을 들이자 틀렸던 코드 1번 원인 : 연속된 숫자가 입력이 들어온다는 부분이 string으로 받아야 한다는 생각을 못했다. 틀렸던 코드 2번 원인 : SUM을 초기화 하지 않아, 쓰레기값이 들어있어 오류가 발생하였다. // 틀렸던 코드 1번 #include int main() { int n; int sum; for(int i =0; i < n; i++){ scanf("%d",&n); sum += n; } printf("%d",sum); } // 틀렸던 코드 2번 #include int main() { int n, sum; char arr[101]; //배열 선언 scanf("%d",&n); scanf(..

[백준] 5597번, sort사용법 (c++)

문제 풀이방법 1. 나는 처음 28번까지 입력을 받은 뒤, 정렬을 시킨 후 1번부터 30번까지 하나하나 체크를 해서 배열 위치에 없다면 i를 print하는 방식으로 문제를 해결하려고 했다. 하지만 정렬을 사용하는 방법을 까먹어서 검색하였다. sort함수 - #include 에 포함되어 있다. - 사용방법은 sort(n, n+28) >> 즉 첫번째 값이 시작되는 주소위치, 끝 값의 주소위치를 지정해주면 알아서 오름차순 정렬을 해준다. - sort(begin,end), 범위는 begin > a; n[i] = a; } sort(n,n+28); for(int i = 1; i> a; n[i] = a; } sort(n, n + 28); int j = 0; for(int i = 1; i

[백준] 10951번 A+B, EOF(End-of-file)

백준 10951번은 EOF에 대한 이해가 있어야 풀 수 있다. 문제 내용자체가 입력은 계속해서 받아야 하는데 어느 시점에서 끝내야 하는지 현재까지 내가 알고있는 내용으로는 해결하기 어려웠다. EOF = End of File이며 -1 값을 갖고있다. 파일의 끝을 표현하기 위해 정의해 놓은 상수이다. C언어에서는 파일의 끝에 도달했을때 언제나 이 값을 반환한다. 유닉스(Unix)시스템에서는 라인의 시작위치에서 Ctrl+D를 누르면 발생하고 윈도우에서는 명령창에서 Ctrl+Z를 누르고 나서 Enter를 누르면 발생한다고 한다. #include int main() { int a,b; while(scanf("%d %d",&a,&b) != EOF) { printf("%d\n",a+b); } }

[백준_C++] 15552번 : 빠른 A+B

www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 백준 15552번의 경우 단순히 A + B를 구하는 것이 아닌 연산 속도를 고려한 문제이다. 문제에서부터 cin.tie(NULL)과 sync_with_stdio(false)를 적용해 주어야 한다고 나와있다. 관련해서 알아본 내용을 기억하고자 정리한다. C 표준 입출력인 stdio.h의 scanf()와 printf()는 매우 빠른편이라 바로 해결이 된다. C++ 표준 입출력인 cin, cout을 쓸 경우에는 시간초과가 난다. 이때..

728x90