デジタルカード2(標準)
6967 ワード
リンクテキスト
デジタルカードは整数と書かれたカードです.尚根にはN枚のデジタルカードがあります.整数M個を指定する場合は、この数が書かれた数値カードがルートに何個あるかを求めるプログラムを作成します.
これは数字を与えて、最後の行で与えられた数字がどれだけあるかを計算する問題です.
私が使っているコンパイラはPython 2です.xなので印刷できません.その時は慌てないでください.
問題を理解する
デジタルカードは整数と書かれたカードです.尚根にはN枚のデジタルカードがあります.整数M個を指定する場合は、この数が書かれた数値カードがルートに何個あるかを求めるプログラムを作成します.
私の理解
これは数字を与えて、最後の行で与えられた数字がどれだけあるかを計算する問題です.
Python
import sys
from collections import Counter as ct
num = input()
read = ct(map(int, sys.stdin.readline().split()))
guess = input()
read2 = map(int, sys.stdin.readline().split())
for ele in read2:
print(read[ele],end = " ")
Python Collectionsパッケージを使用するのは難しくありません.カウンタは自動的にdict形式に変換されるので、カウンタに設定して対応する要素数を返すだけで実現できます.print(ele,end=")Python 3では、自分で印刷するときの改行すなわちend="n"が設定されています.そうなるとスペースの状態で印刷できます.私が使っているコンパイラはPython 2です.xなので印刷できません.その時は慌てないでください.
from __future__ import print_function
これを追加すればいいですC++
#include <iostream>
#include <map>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int num;
cin>> num;
map<int,int> m;
for(int i=0; i<num; i++){
int intput;
cin >> intput;
m[intput]++;
}
cin >>num;
for(int i =0;i<num;i++){
int intput;
cin >> intput;
cout << m[intput]<<" ";
}
return 0;
}
cppではmapというオブジェクトを使用できますが、簡単に言えばpython dictと非常に似ています.そのようにm[intput]に近づくと、ないと0になり、あると+1の形になって探し出す.Reference
この問題について(デジタルカード2(標準)), 我々は、より多くの情報をここで見つけました https://velog.io/@happyfran67/숫자-카드2백준テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol