이 튜토리얼에서는 주어진 두 문장에서 반복되지 않는 모든 단어를 식별하고 인쇄합니다. 반복되지 않는 단어는 두 문장에서 한 번만 나타나는 단어, 즉 다른 문장에서는 반복해서 나타나지 않는 단어를 말합니다. 이 작업에는 입력 문장을 분석하고, 개별 단어를 식별하고, 두 문장을 비교하여 한 번만 나타나는 단어를 찾는 작업이 포함됩니다. 출력은 이러한 모든 단어의 목록이어야 합니다. 이 작업은 루프, 배열 또는 사전 사용과 같은 다양한 프로그래밍 방법을 통해 수행할 수 있습니다.
다음은 주어진 두 문장에서 반복되지 않는 모든 단어를 인쇄하는 두 가지 방법입니다−
방법 1: 사전을 사용하세요
방법 2: 컬렉션 사용
사전을 사용하여 두 문구에 각 단어가 나타나는 횟수를 세어보세요. 그런 다음 사전을 찾아 한 번만 나타나는 모든 단어를 인쇄할 수 있습니다. C++의 사전 기능은 일반적으로 지정된 두 문장의 모든 고유 단어를 출력하는 데 사용됩니다. 이 방법에는 사전 또는 해시 테이블 데이터 구조를 사용하여 각 단어의 빈도를 두 문구에 저장하는 작업이 포함됩니다. 그런 다음 사전을 반복하여 한 번만 나타나는 용어를 인쇄할 수 있습니다.
다음은 C++의 사전 메서드를 사용하여 주어진 두 문장에서 중복되지 않는 모든 단어를 인쇄하는 실제 코드가 없는 구문입니다. -
단어 빈도를 저장하는 사전을 선언하세요
두 문장을 문자열로 입력하세요
문장을 단어로 나누고 사전에 삽입하세요
사전을 반복하면서 고유한 단어를 인쇄하세요
C++에서는 사전 방법을 사용하여 지정된 두 문장의 모든 고유 항목을 단계별로 인쇄하는 트릭입니다. -
1단계 - 문장이 포함된 두 개의 문자열 s1과 s2를 만듭니다.
2단계 - 문장의 각 단어의 빈도를 기록하기 위해 순서가 지정되지 않은 빈 맵 문자열 int>를 선언합니다.
3단계 − C++의 문자열 스트림 클래스를 사용하여 두 구문을 구문 분석하여 단어를 추출합니다.
4단계 - 추출된 각 단어에 대해 사전에 나타나는지 확인합니다. 그렇다면 빈도를 1만큼 늘립니다. 그렇지 않으면 빈도 1로 사전에 추가하십시오.
5단계 - 두 문장을 모두 처리한 후 사전을 반복하고 빈도가 1인 모든 용어를 표시합니다. 두 문장에서 반복되지 않는 단어입니다.
6단계 − 이 방법의 시간 복잡도는 O(n)입니다.
이 코드는 순서가 지정되지 않은 맵을 사용하여 결합된 구문에 있는 각 단어의 빈도를 저장합니다. 그런 다음 지도를 반복하면서 반복되지 않는 단어의 벡터에 한 번만 나타나는 각 단어를 추가합니다. 마지막으로, 중복되지 않은 단어를 공개합니다. 이 예는 두 문장이 사용자가 입력하는 것이 아니라 프로그램에 하드 코딩되어 있음을 의미합니다.
으아아아이 전략에는 집합을 사용하여 두 구문에서 한 번만 나타나는 용어를 찾는 것이 포함됩니다. 각 구문에 대한 용어 집합을 만든 다음 이러한 집합의 교차점을 식별할 수 있습니다. 마지막으로 교차점을 반복하여 한 번만 나타나는 모든 항목을 출력할 수 있습니다.
컬렉션은 다양한 요소를 정렬된 순서로 보관하는 연관 컨테이너입니다. 두 구문의 용어를 컬렉션에 삽입할 수 있으며 중복된 용어는 자동으로 제거됩니다.
당연하죠! 다음은 주어진 두 문장에서 반복되지 않는 모든 단어를 인쇄하기 위해 Python에서 사용할 수 있는 구문입니다 −
두 문장을 문자열로 정의
각 문장을 단어 목록으로 분할하세요
이 두 단어 목록에서 세트를 만듭니다
세트의 교차를 통해 독특한 단어를 찾아보세요
고유한 단어를 인쇄하세요
C++의 집계 함수를 사용하여 주어진 두 문장에서 중복되지 않는 모든 단어를 출력하려면 아래 지침을 따르세요. -
1단계 - 두 문장을 저장할 문자열 변수 두 개를 만듭니다.
2단계 - 문자열 스트림 라이브러리를 사용하여 각 문장을 개별 단어로 분할하고 두 개의 개별 배열에 저장합니다.
3단계 - 각 문장마다 하나씩 두 개의 세트를 만들어 고유한 단어를 저장하세요.
4단계 - 각 단어 배열을 반복하고 각 단어를 올바른 세트에 삽입합니다.
5단계 - 각 세트를 반복하면서 중복되지 않는 단어를 인쇄하세요.
이 코드에서는 문자열 스트림 라이브러리를 사용하여 각 문장을 별도의 단어로 분할합니다. 그런 다음 UniqueWords1 및 UniqueWords2라는 두 개의 컬렉션을 사용하여 각 문장의 고유한 단어를 저장합니다. 마지막으로 각 세트를 반복하여 중복되지 않은 단어를 인쇄합니다.
#include <iostream> #include <string> #include <sstream> #include <set> using namespace std; int main() { string sentence1 = "This is the first sentence."; string sentence2 = "This is the second sentence."; string word; stringstream ss1(sentence1); stringstream ss2(sentence2); set<string> uniqueWords1; set<string> uniqueWords2; while (ss1 >> word) { uniqueWords1.insert(word); } while (ss2 >> word) { uniqueWords2.insert(word); } cout << "Non-repeating words in sentence 1:" << endl; for (const auto& w : uniqueWords1) { if (uniqueWords2.find(w) == uniqueWords2.end()) { cout << w << " "; } } cout << endl; cout << "Non-repeating words in sentence 2:" << endl; for (const auto& w : uniqueWords2) { if (uniqueWords1.find(w) == uniqueWords1.end()) { cout << w << " "; } } cout << endl; return 0; }
Non-repeating words in sentence 1: first Non-repeating words in sentence 2: second
위 내용은 주어진 두 문장에서 반복되지 않는 모든 단어를 인쇄합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!