백준: Class 1 - 1008, 1152, 1546, 2562, 2577, 2908, 10171, 10172, 10951
</br>
solved ac에서도 학교 별 랭킹을 볼 수 있어서 봤는데, 클래스라는 게 있더라
다들 숫자가 있는데 나만 없다
이런 게 있으시다면 나도 해 드리는 게 인지상정
</br>
은근 입출력 관련 기억할 것들이나 기본적인 것들 정리하자
</br>
1008: A/B
https://www.acmicpc.net/problem/1008
cout.precision(11);
c++의 iostream에서 cout의 출력 소수점을 조절할 수 있다
</br>
1152: 단어의 개수
https://www.acmicpc.net/problem/1152
string s;
getline(cin, s);
int cnt = 0;
for(int i = 0; i < s.size(); i++){
if( s[i] != ' ' ){
cnt++;
while( s[i] != ' ' && i < s.size() ) i++;
}
}
cout << cnt << endl;
getline() 쓰기
</br>
1546: 평균
https://www.acmicpc.net/problem/1546
double m = *max_element(nums, nums+n);
예전에 어디서 이거 본 뒤로 막 for문 적고 비교하고 할 필요 없이 쏠쏠하게 쓴다
</br>
10951: A+B - 4
https://www.acmicpc.net/problem/10951
int a, b;
while( cin >> a >> b ){
cout << a+b << '\n';
}
끝이 언제일 지 알 수 없는 입력일 때 일케 하면 된다
cin이 true와 false를 리턴해 준다.
while( !(cin >> a >> b).eof() ){
cout << a+b << '\n';
}
아님 이렇게도
</br>
10171: 고양이
https://www.acmicpc.net/problem/10171
cout << "\\ /\\\n";
cout << " ) ( ')\n";
cout << "( / )\n";
cout << " \\(__)|\n";
이런 귀여운 문제가
특정 기호들을 출력할 땐 백슬래시를 쓰고 하기
cout << "|\\_/|\n";
cout << "|q p| /}\n";
cout << "( 0 )\"\"\"\\\n";
cout << "|\"^\"` |\n";
cout << "||_/=\\\\__|\n";
자매품 개(https://www.acmicpc.net/problem/10172)
</br>
2562: 최댓값
https://www.acmicpc.net/problem/2562
int *m = max_element(nums, nums+9);
cout << *m << endl;
cout << m-nums+1 << endl;
원래 max_element
는 그 주소를 반환하니까, (최댓값의 주소) - (배열 시작 주소) + 1
을 하면 인덱스도 출력할 수 있겠더라
</br>
2908: 상수
https://www.acmicpc.net/problem/2908
string a, b;
cin >> a >> b;
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
cout << max(a, b) << endl;
가끔 수를 문자열로 취급하는 게 더 쉬울 때도 많다
여기서는 친절하게도 모두 3자리 수이고 0이 없다고 하지만, 다른 문제들은 0과 자리수를 특히 주의해 줘야 한다
int k = a*b*c;
string s = to_string(k);
for(int i = 0; i < s.size(); i++){
nums[s[i]-'0']++;
}
for(int i = 0; i < 10; i++){
cout << nums[i] << endl;
}
비슷하게 2577번 숫자의 개수(https://www.acmicpc.net/problem/2577) 역시 각 자리에 접근하므로 문자열이 편하다.
</br>
와~~ 까리한 게 생겼다
근데 이런 쉬운 거로 36문제 풀었더니 학교 랭킹이 너무 올라가 버렸다 92등
정답률도 53.403%
물렙만 쌓이는구나…
</br>
댓글남기기