북 리 재시험 문제 2011 년

1. 단어 (대소 문자 구분) 를 입력 하고 이니셜 이 같은 단어의 개 수 를 집계 하 며 같은 단 어 는 누적 되 지 않 습 니 다. 출력 형식: '자모, 개수' 
사고 출처: 참고
#include 
#include 
#include 
using namespace std;
 
int main()
{
    set s;
    map m;
    string str;
    
    while(cin>>str)
    {
    	if(str=="#") break; 
        s.insert(str);//      ,   
    }
    
    set::iterator it;
    for(it=s.begin(); it!=s.end(); it++)
    {
        ++m[(*it)[0]];//    ,    , ++ 
    }
 	
    map::iterator mit;
 
    for(mit=m.begin(); mit!=m.end(); mit++)
    {
        cout<first<second<

여기 서 나 는 stl 함 수 를 사용 하지 않 았 기 때문에 비교적 번 거 롭 지만 생각 은 같다. 다음 과 같다.
#include 
#include 
#include  
using namespace std;
 
/*
1.       (     ),              ,        ,    :“  ,  ” 
*/ 
typedef struct res{
	string letter;
	int count;
}result;
bool ishas(vector vb, string s){
	for(int i=0;i& vd, string s){
	for(int i=0;i vc;
	vector vb;
	vector vd;
	cout<>str){
		if(str=="#")
			break;
		vc.push_back(str);	
	}

	//   
	sort(vc.begin(), vc.end());
//	for(int i=0;iletter = vb[i].substr(0,1);
			r->count = 1;
			vd.push_back(*r);
		}
	}
	//    
	for(int i=0;i

2. 단 어 를 입력 하고 (대소 문자 구분) 사전 정렬 을 출력 합 니 다. 
#include 
#include 
#include  
using namespace std;
 
/*
      ,(     ),        
*/ 


int main()
{
	string str;
	vector vc;
	cout<>str){
		if(str=="#")
			break;
		vc.push_back(str);	
	}

	//   
	sort(vc.begin(), vc.end());
	for(int i=0;i

3. 하나의 문자열 (aaaa (bbbb (cccc, ddd), eeee (ffff)) 에 게 이 문자열 은 각자 의 차원 관 계 를 나타 낸다. 예 를 들 어 aaaa 는 bbbb 와 eeee 의 지도자 이 고 bbbb 는 cccc 와 ddd 의 지도자 가 현재 이름 을 입력 한다. 예 를 들 어 ffff 는 리더 십 출력 을 요구한다. aaaa > eeee > ffff  
#include 
#include 
#include  
using namespace std;
 
/*
3.       (aaaa(bbbb(cccc,dddd),eeee(ffff)))    
           
  aaaa bbbb eeee   ,bbbb cccc dddd   
       ,  ffff,         
  :aaaa>eeee>ffff 
*/ 


int main()
{
	string str1, str2, str="";
	vector vc;
	cout<>str1;
	cout<>str2;
	
	char stack[20];
	int top=0;

	int pos = str1.find(str2);
	cout<=0;i--){//  ,     ,    ,             ,             
		/*
			//(aaaa(bbbb(cccc,dddd),eeee(ffff)))
	   //top  3    2    1         0     1	
	    ffff
	    top==1 &&    '(' ,     ,       :  eeee> ,  eeee>ffff
	    top==2 &&    '(' ,     ,       :  aaaa>,  aaaa>eeee>ffff
	   top==3 ,  ,      ,          
	     :
	     eeee
			//(aaaa(bbbb(cccc,dddd),eeee(ffff)))
	   //top  2    1    0         1    
	    top==1 &&    '(' ,     ,       :  aaaa> ,  aaaa>ffff
	     top==2     
	   	*/ 
		if(str1[i]==')'){
			top--;
			cout<");
			index = i;
		}
	}
	cout<

또 하나의 해법 이 있 습 니 다. 여 기 는 아직 보지 못 했 습 니 다.
#include 
#include 
using namespace std;
int main()
{
    //(aaaa(bbbb(cccc,dddd),eeee(ffff)))
    int n=0;
    string s,str[105],t;//str     
    cin>>s>>t;
    for(int i=0; i=0; k--)
            {
                if(str[k]!="(")
                    n--;
                else if(str[k]=="(")
                {
                    break;
                }
            }
        }
        else if(s[i]==')')//                           
        {
            for(int k=n-1; k>=0; k--)
            {
                if(str[k]!="(")
                    n--;
                else if(str[k]=="(")
                {
                    n--;
                    break;
                }
            }
        }
        else//     
        {
            int j;
            string tt="";
            for(j=i; j='a'&&s[j]<='z')||(s[j]>='A'&&s[j]<='Z'))
                    tt+=s[j];
                else
                {
                    str[n++]=tt;
                    break;
                }
            }
            if(tt==t)//            
                break;
            i=j-1;
        }
    }
 
    for(int i=0; i";
            else
                cout<

 
 
저자: 끝 없 는 명월
전편: 북 리 재시험 문제 2010 년

좋은 웹페이지 즐겨찾기