-
백준 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719쾌락없는 책임 (공부)/알고리즘 문제풀이 2020. 12. 25. 19:37반응형
<2557 - www.acmicpc.net/problem/2577>
#include <iostream> using namespace std; int main() { cout << "Hello World" << endl; return 0; }
- namespace를 사용하냐 안하냐의 차이는 코드 길이 뿐, 메모리에서는 아무 변화 없었음
<1000, 2558 - www.acmicpc.net/problem/1000, www.acmicpc.net/problem/2558>
#include <iostream> using namespace std; int main(){ int A; int B; cin >> A; cin >> B; cout << A+B; }
- VS Code 설정하는게 더 오래 걸렸다
- 두 문제 사이의 차이는 모르겠다
<10950 - www.acmicpc.net/problem/10950>
#include <iostream> using namespace std; int main(void){ int T, A, B; cin>>T; for (int i = 0; i < T; i++) { cin>>A>>B; cout<<A+B<<endl; } }
- 처음에 return 0를 해서 문제인가 했는데 아니었다.
- 뒤에 endl을 안붙여서 헛짓거리 많이 함
<10951 - www.acmicpc.net/problem/10951>
#include <iostream> using namespace std; int main(){ int A, B; while(cin >> A >> B) { cout << A+B << endl; } }
- 처음 while문에 true를 넣으니깐 입력을 받지 않은채 무한루프가 가동
- 그래서 조건문 안에 입력을 넣으니 잘 됨
<10952 - www.acmicpc.net/problem/10952>
#include <iostream> using namespace std; int main(){ int A, B; while(cin >> A >> B){ if (A == 0 && B == 0) break; cout << A + B << endl; } return 0; }
- 왜 안되는가 했는데 문제를 보니 0, 0 이면 출력 없이 바로 끝나는 문제였음
- 그러니 출력을 if문 뒤에 하니 바로 완성
<10953 - www.acmicpc.net/problem/10953>
#include <iostream> using namespace std; int main(){ int A, B, T; char c; cin >> T; for(int i = 0; i < T; i++){ cin >> A >> c >> B; cout << A+B << endl; } return 0; }
- ,로 구분한다는데 ,를 검증할 필요는 없다
<11021 - www.acmicpc.net/problem/11021>
#include <iostream> using namespace std; int main(){ int A, B, T; cin >> T; for(int i = 0; i < T; i++){ cin >> A >> B; cout <<"Case #"<< i+1 << ": " << A+B << endl; } return 0; }
- 오타가 많이 나서 많이 틀린 문제
<11022 - www.acmicpc.net/problem/11022>
#include <iostream> using namespace std; int main(){ int A, B, T; cin >> T; for(int i = 0; i < T; i++){ cin >> A >> B; cout <<"Case #"<< i+1 << ": " << A << " + " << B << " = " << A+B << endl; } return 0; }
<11718 - www.acmicpc.net/problem/11718>
#include <iostream> #include <string> using namespace std; int main(){ string C; while(1){ getline(cin, C); if(C=="") break; cout << C << endl; } }
- char형의 경우 띄어쓰기를 못받음
- string를 사용한 뒤 한줄을 받아오는 getline을 이용해 띄어쓰기도 문자열에 저장
<11719 - www.acmicpc.net/problem/11719>
#include <iostream> #include <string> using namespace std; int main(){ string C[100]; for(int i = 0; i < 100; i++) getline(cin, C[i]); for(int i = 0; i < 100; i++) cout << C[i] << endl; }
- 조건이 100글자 이내, 입력 100개 이하라 for문이 2개
- 이후 받은걸 배열로 저장 > 배열로 출력 한다
+ 다른 사람의 풀이
#include <iostream> #include <string> using namespace std; int main() { string text; while (getline(cin, text)) { cout << text << endl; } }
코드가 깔끔하고 메모리는 4kb라 큰 의미가 없다. 그런데 이건 100에 대한 조건들이 없음에도 백준에서 잘 된다. 살짝 억울하네
반응형'쾌락없는 책임 (공부) > 알고리즘 문제풀이' 카테고리의 다른 글
백준 2441, 2442, 2445, 2446, 2522, 10991, 10992 (1) 2020.12.27 백준 8393,10818, 2438, 2439, 2440 (0) 2020.12.26 백준 11720, 11721, 2741, 2742, 2739, 1924 (0) 2020.12.26 맥 VS Code 에서 C++ 사용하기 (0) 2020.12.24 알고리즘 스터디 대략적인 계획 (0) 2020.12.22