본문 바로가기

string

(17)
[C++] 백준 10824번 - 네 수 어제는 시골에 갔는데 깜빡하고 노트북을 가지고 가지 않아서 못 풀었다...사실 월요일에 집에 돌아올줄 알았는데 오늘 돌아오게 되어 오늘은 풀 수 있게 되었다. 그럼 바로 고~~  문제 10824번https://www.acmicpc.net/problem/10824  숫자를 문자열로 받아 서로 합치고, 합친 각 문자열을 숫자로 바꿔 더해주면 되는 문제이다.그런데 나는 int로 해서 런타임 에러(out_of_range)가 났다... long long으로 해줘야한다... #include #include using namespace std;int main() { int A, B, C, D; cin >> A >> B >> C >> D; string AB = to_string(A) + to_string(B); str..
[C++] 백준 10808번 - 알파벳 개수 문제 10808번 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 이번 문제는 따로 알파벳의 개수를 저장하는 arr배열을 만들고 s의 길이만큼 반복문을 돌려서 해당 알파벳에 해당하는 인덱스에 1을 더해줬다. 그리고 배열에 담긴 26개의 숫자를 출력해주었다. #include #include using namespace std; int arr[26] = { 0 }; int main() { string s; cin >> s; for (int i = 0; i < s.length(); i++) { arr[s[i] - 'a']++; } for (in..
[C++] 백준 11719번 - 그대로 출력하기 2 문제 11719번 https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net getline() 함수를 사용해 한 줄로 입력받았다. 빈 줄이 입력될 수도 있어서 while문의 조건에 입력이 없으면 종료되도록 만들었다. #include #include using namespace std; int main() { string s; while (getline(cin, s)) { cout
[C++] 백준 1225번 - 이상한 곱셈 문제 1225번 https://www.acmicpc.net/problem/1225 1225번: 이상한 곱셈 첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다. 수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다. www.acmicpc.net 이 문제는 자릿수마다 곱해주고 다 더해줘야하기 때문에 입력값을 문자열로 받아준다. 그리고 이중 for문을 이용하여 각 자리수를 곱해주고 result변수에 더해주는데, 여기서 A,B는 문자열이므로 '0'를 빼서 곱해주고 result에 더한다. string에서 '0'을 빼면 int형이 된다. 그렇게 반복문을 다 돌면 result값을 출력해주면 끝난다. #include #include usin..
[C++] 백준 1264번 - 모음의 개수 화요일 밤부터 몸 상태가 말이 아니다... 몸살이랑 열은 괜찮아졌지만, 배가 살짝살짝 거슬리게 아팠던 증상이 심해져서 배까지 너무 아프다... 얼른 나았으면 좋겠다... 문제 1264번 https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net 공백이 있으니까 getline으로 입력받고, 대문자인 것들을 다 소문자로 바꿔준다. 그리고 aeiou 중 하나라면 모음의 개수를 카운트해준다. 만약 #이 하나 들어왔다면 반복문을 빠져나와주면 ..
[C++] 백준 7567번 - 그릇 으으... 이틀동안 몸살때문에 앓다가 이제야 살 것 같다... 몸이랑 머리가 너무 아프고 열도 너무 심하게 났다. (약먹고 계속 자면서 푹 쉬니까 이제야 살 것 같아) 문제 7567번 https://www.acmicpc.net/problem/7567 7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net 높이(height)를 10, now를 비교할 전 접시(dish[i-1])로 초기화해준다. 높이를 10으로 초기화해줬기 때문에 인덱스 i는 1부터 시작해준다. 그리고 now와 비교할 다음 접시(dish[i])가 ..
[C++] 백준 4999번 - 아! 문제 4999번 https://www.acmicpc.net/problem/4999 4999번: 아! 입력은 두 줄로 이루어져 있다. 첫째 줄은 재환이가 가장 길게 낼 수 있는 "aaah"이다. 둘째 줄은 의사가 듣기를 원하는 "aah"이다. 두 문자열은 모두 a와 h로만 이루어져 있다. a의 개수는 0보다 크거 www.acmicpc.net 이 문제는 재환이가 가장 길게 낼 수 있는 소리가 의사가 듣기를 원하는 소리보다 작으면 no를 출력하고, 아니면 go를 출력하면 되는 문제이다. #include #include using namespace std; int main() { string j, d; cin >> j >> d; if (j.length() < d.length()) { cout
[C++] 백준 2935번 - 소음 문제 2935번 https://www.acmicpc.net/problem/2935 2935번: 소음 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 www.acmicpc.net *일 때, 1을 먼저 출력해준다음 입력된 값들의 길이를 합한 후 앞자리 2씩 빼주어 0의 개수를 알아낸 후 그 길이만큼 0을 출력해준다. +일 때, 입력된 값들의 길이가 같으면 처음에 2를 출력해준다음 나머지 길이만큼 0을 출력해준다. 만약, 입력된 값들의 길이가 다르면 가장 긴 길이부터 시작하여 차례대로 비교하며 각 입력값의 길이와 같을 때 1을 출력해주고 나머지는 0을 출력해준다. #inc..