본문 바로가기

문자열38

[백준 10815/c++] 숫자 카드 맵을 사용하여 해시 카운트를 사용, 큰 수 이므로 숫자가 아닌 문자열의 형태로 넣어 비교하는 문제였다 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; string s; unordered_map mapi; c.. 2022. 7. 15.
[백준 12871/c++] 무한 문자열 문자열 a와 b를 무한히 늘렸을때 두 문자열은 같은지를 묻는 문제이다 a길이와 b길이의 최소공배수를 구하고 그 길이가 될때까지 각각 자기복제를 하여 새로 만든 두 문자열이 같은지를 비교하면 되는 문제이다 https://www.acmicpc.net/problem/12871 12871번: 무한 문자열 첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net #include using namespace std; int gcd(int x, int y){ int z; while(y!=0){ z=x%y; x=y; y=z; } return x; } int lcm(int x, int y){ return x*y.. 2022. 7. 2.
[백준 10610/c++] 30 자료형의 표현 범위를 넘어선 거대한 수를 다룰때 string 을 써서 다뤄야 하는 법을 알려주는 문제였다 10^15 개의 자리수를 갖는 숫자라니 long long 으로도 표현불가하다. c++ 에서는 string 으로 다루자! 처음에 풀때는 각 자리의 조합을 바꿔서 3으로 나눌 수 있는 것들을 찾았지만 시간초과가 걸렸고 다음 방법으로 0을 제외한 2자리 3자리(2자리가 에러가 떠서...)가 3으로 나누어 떨어지는 경우의 수에서의 최대값을 구하려 했었지만... 출력 오류가 떠서 다시 처음부터 로직을 생각해야만 했다 모든 자리수의 합이 3으로 나누어지는 경우가 조건이었다;;; 자고일어나서 생각하니 이렇게 간단하게 풀릴줄이야... https://www.acmicpc.net/problem/10610 10610번:.. 2022. 7. 1.
[백준 2941/c++] 크로아티아 알파벳 문자열을 substr 을 사용해서 잘라 배열의 값과 비교하면 되는 간단한 문제이다 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net #include using namespace std; int main(){ string s; string temp=""; string arr[8]={"c=", "c-", "dz=", "d-", "lj", "nj", "s=","z="}; cin >> s; bool tok=false.. 2022. 6. 28.