본문 바로가기

Study (etc)407

[BOJ / C++] 11170번 : 0의 개수 문제 N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. 입력 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 줄에는 N과 M이 주어진다. 1 ≤ T ≤ 20 0 ≤ N ≤ M ≤ 1,000,000 출력 각각의 테스트 케이스마다 N부터 M까지의 0의 개수를 출력한다. Solved.ac 레벨 실버 V 풀이 #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); char zero = '0'; int testCase; cin >> testC.. 2022. 4. 1.
[BOJ / C++] 1357번 : 뒤집힌 덧셈 문제 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 입력 첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 문제의 정답을 출력한다. Solved.ac 레벨 브론즈 I 풀이 #include using namespace std; int Rev(int num){ string sStr = to_string(num); reverse(sStr.begi.. 2022. 4. 1.
[BOJ / C++] 2902번 : KMP는 왜 KMP일까? 문제 KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다. 또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이를 만든 사람의 이름이 Rivest, Shamir, Adleman이다. 사람들은 이렇게 사람 성이 들어간 알고리즘을 두 가지 형태로 부른다. 첫 번째는 성을 모두 쓰고, 이를 하이픈(-)으로 이어 붙인 것이다. 예를 들면, Knuth-Morris-Pratt이다. 이것을 긴 형태라고 부른다. 두 번째로 짧은 형태는 만든 사람의 성의 첫 글자만 따서 부르는 것이다. 예를 들면, KMP이다. 동혁이는 매일매일 자신이 한 일을 모두 메모장에 적어놓는다. 잠을 자기 전에,.. 2022. 4. 1.
[BOJ / C++] 10953번 : A+B-6 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. A와 B는 콤마(,)로 구분되어 있다. (0 > testCase; for(int i = 0; i > sNu.. 2022. 4. 1.