목록전체 글 (601)
sm 기술 블로그
import java.io.*; import java.util.*; class Main { public static void main(String args[])throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String [] NM = br.readLine().split(" "); int N = Integer.parseInt(NM[0]); int M = Integer.parseInt(NM[1]); Set repository = new HashSet(); int cnt = 0; for(int i =0; i< N; i++) { repository.add(br.readLine().trim()..
let input = require('fs').readFileSync(0).toString().trim().split("\n") let tmp = input[0].split(" ").map(Number) // tmp의 0은 N , 1은 M input.shift() let repositroy = new Set; let compare = []; let cnt = 0; for(let i = 0; i < tmp[0]; i++){ repositroy.add(input[i].trim()); } for(let j = tmp[0]; j < tmp[0]+tmp[1]; j++){ compare.push(input[j].trim()); } for(let val of compare){ if(repositroy.has(val)..
import sys input = sys.stdin.readline N, M = map(int, input().split()) repository = set(input().strip() for _ in range(N)) compare = [input().strip() for _ in range(M)] cnt = 0 for val in compare: if val in repository: cnt += 1 print(cnt) 문제요약 문자열 집합을 입력 받음. 비교 문자열들을 입력 받음. 비교 문자열에 집합의 문자열이 몇개 포함되어 있는가 설명 먼저 문자열 집합이라하여 집합을 사용하였다. 특별한 문법을 사용한 것이 없어 솔직히 어렵지 않다. 집합을 사용하지 않고 데이터사전을 이용한다면 import sys ..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; class Main{ public static void main(String args[])throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); String[] haveCard = br.readLine().split(" "); int M =..