ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 탐색_220712
    데일리 codeup/일차원 배열 2022. 7. 12. 15:32

    문자를 원소로 갖는 배열

    char word[5] = { 'A', 'P', 'P', 'L', 'E' }; 중 문자 'L'가 배열 안에 있는지, 있다면 몇 번째 index에 있는지 찾기 idx라는 변수를 사용하여 for loop에서 index번호를 찾는다.


    특정 위치의 문자

    6개의 문자 배열을 만들고 각각 'L', 'E', 'B', 'R', 'O', 'S'로 초기화한 후에, 문자 한 개가 주어지면 배열의 위치를 출력하는 프로그램을 작성해보세요. 배열의 첫 번째 위치는 0번이며 배열에 없는 문자가 주어지면 "None"이라는 메시지를 출력합니다.

    #include <iostream>
    using namespace std;
    int main(){
        char a[6] = {'L', 'E', 'B', 'R', 'O', 'S'};
        int idx = -1;
        char b;
        cin >> b;
        for(int i=0;i<6;i++){
            if(a[i]==b){
                idx = i;
                break;
            }
        }
        if(idx==-1) cout<<"None";
        else    cout<<idx;
        return 0;
    }

    개수 세기

    정수 n이 주어지면 그 횟수만큼 수가 주어집니다. 그 중 m이 몇 번 등장하는지 구해 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int n,m,k,cnt = 0;
        cin >> n >> m;
        for(int i=0;i<n;i++){
            cin >> k;
            if(m==k)    cnt++;
        }
        cout<< cnt;
        return 0;
    }

    배열 놀이

    n개의 원소와 q개의 질의가 주어졌을 때 n개의 원소에 대해 각 질의를 수행하는 프로그램을 작성해보세요. 질의의 종류는 다음과 같습니다.

    • 1 a

      • a번째 원소를 출력합니다.
    • 2 a

      • 숫자 a가 있는지를 판단합니다. 만약 있다면 해당 원소가 몇 번째 원소인지를 출력합니다. 숫자 a가 2개 이상 있다면 index가 더 작은 원소를 출력합 니다. 만약 a가 없다면 0을 출력합니다.
    • 3 a b

      • a번째 원소부터 b번째 원소까지 순서대로 공백을 사이에 두고 출력합니다.
    #include <iostream>
    using namespace std;
    int main(){
        int n,q, num,a,b, idx;
        cin >> n >> q;
        int m[n];
        for(int i=0;i<n;i++)    cin >> m[i];
        for(int j=0;j<q;j++){
            idx = 0;
            cin >> num >> a;
            if(num==1){
                cout<<m[a-1]<<endl;
            }
            else if(num==2){
                for(int l=0;l<n;l++){
                    if(m[l]==a){
                        idx = l+1;
                        break;
                    }
                }
                cout << idx<<endl;
            }
            if(num==3){
                cin>>b;
                for(int x=a;x<=b;x++)   cout<<m[x-1]<<' ';
                cout<<endl;
            }
        }
        return 0;
    }

    입력

    5 5
    3 2 4 5 4
    1 4
    2 4
    2 5
    3 1 5
    3 2 5

    출력 결과

    5
    3
    4
    3 2 4 5 4
    2 4 5 4

    연속부분수열일까

    n1개의 원소로 이루어져 있는 수열 A의 정보와, n2개의 원소로 이루어져 있는 수열 B의 정보가 주어졌을 때 수열 B가 수열 A의 연속부분수열인지를 판단하는 프로그램을 작성해보세요.

    수열 B가 수열 A의 원소들을 연속하게 뽑았을 때 나올 수 있는 수열이라면 연속부분수열이라 부릅니다.

    예를 들어 수열 A가 [1, 5, 2, 6] 일때 수열 B가 [5, 2]라면 수열 B는 수열 A의 연속 부분 수열이지만, 만약 수열 B가 [5, 6]이라면 연속 부분 수열이 아닙니다.

    #include <iostream>
    using namespace std;
    int main(){
        int n,m,index = 0,result = 0;
        cin >> n >> m;
        int a[n],b[m];
        for(int i=0;i<n;i++)    cin>>a[i];
        for(int j=0;j<m;j++)    cin>>b[j];
    
        for(int k=0;k<n-m+1;k++){
            if(a[k]==b[0]){
                result = 1;
                for(int l=1;l<m;l++){
                    if(a[k+l]!=b[l]){
                        result = 0;
                        break;
                    }
                }
            }
            if(result == 1) break;
        }
        if(result == 0) cout<<"No";
        else    cout<<"Yes";
        return 0;
    }

    입력1

    4 2
    1 5 2 6
    5 6

    출력

    No

    입력2

    66 37
    78 78 3 49 28 83 12 52 68 41 34 97 21 33 35 43 96 38 68 80 91 91 41 88 71 37 72 29 77 80 80 7 64 7 7 77 2 66 37 66 26 63 81 48 81 14 3 26 28 72 99 58 81 94 98 8 20 52 71 4 38 37 4 11 79 70 
    91 91 41 88 71 37 72 29 77 80 80 7 64 7 7 77 2 66 37 66 26 63 81 48 81 14 3 26 28 72 99 58 81 94 98 8 20

    출력

    Yes

    2가 3번째로 등장하는 위치

    n개의 정수가 주어졌을 때, 2 가 3 번째로 등장할 때 몇 번째 위치의 글자인지 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int i, n,m, cnt = 0;
        cin >> n;
        for(i=0;i<n;i++){
            cin>>m;
            if(m==2)    cnt++;
            if(cnt==3)  break;
        }
        cout<< i+1;
        return 0;
    }

    '데일리 codeup > 일차원 배열' 카테고리의 다른 글

    최대최소_220712  (0) 2022.07.12
    count배열_220712  (0) 2022.07.12
    배열만들기_220711  (0) 2022.07.11
    인덱스 참조_220711  (0) 2022.07.11
    한줄에 여러개 입력2_220711  (0) 2022.07.11

    댓글

Designed by Tistory.