전체보기

    [바미] 서로 다른 부분 문자열의 개수

    문제https://www.acmicpc.net/problem/11478 코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim();const uniqueSubstrings = new Set();// 입력받은 문자열에서 가능한 모든 부분 문자열을 추출for (let start = 0; start 문제해설문자열 S의 모든 서로 다른 부분 문자열의 개수를 찾는 문제입니다. Set을 사용하면 쉽게 풀 수 있는 문제죠. 입력 문자열 S에 대해 가능한 모든 부분 문자열을 생성하기 위해 두 개의 중첩된 반복문을 사용하여 각 반복에서 substring(start, end) 함수를 호출하여 시작 인덱스 start와 종료 ..

    [바미] 대칭 차집합

    문제https://www.acmicpc.net/problem/1269코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 첫 번째 줄에서 집합 A와 B의 원소 개수 추출const [sizeA, sizeB] = input[0].split(' ').map(Number);// 집합 A와 B 생성const setA = new Set(input[1].split(' ').map(Number));const setB = new Set(input[2].split(' ').map(Number));// 대칭 차집합 계산const onlyA = Array.from(setA).filter(x =>..

    [바미] 듣보잡

    문제https://www.acmicpc.net/problem/1764코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 첫 번째 줄에서 N과 M을 읽음const [N, M] = input[0].split(' ').map(Number);// 듣도 못한 사람들의 이름을 Set에 저장const unheardSet = new Set(input.slice(1, N + 1));// 교집합을 찾기 위한 배열 초기화const unseenUnheard = [];// 보도 못한 사람들의 이름을 순회하며 교집합 구하기for (let i = N + 1; i 문제 해설주어진 문제에서는 N개의 듣..

    [바미] 숫자 카드 2

    문제https://www.acmicpc.net/problem/10816코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 첫 번째 줄에서 N을 추출const N = parseInt(input[0], 10);// 두 번째 줄에서 숫자 카드에 적힌 정수들 추출const sangCards = input[1].split(' ').map(Number);// 세 번째 줄에서 M을 추출const M = parseInt(input[2], 10);// 네 번째 줄에서 찾을 숫자들을 추출const queries = input[3].split(' ').map(Number);// 숫자 카드의 ..

    [바미] 나는야 포켓몬 마스터 이다솜

    문제https://www.acmicpc.net/problem/1620코드 const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [N, M] = input[0].split(' ').map(Number);const numToName = new Map();const nameToNum = new Map();for (let i = 1; i 코드 설명const [N, M] = input[0].split(' ').map(Number);먼저 첫 번째 요소를 N, 두 번째 요소를 M에 각각 할당합니다. N은 도감에 수록된 포켓몬의 개수, M은 맞춰야 하는 문제의 개수를 의미합니다. con..

    [바미] 회사에 있는 사람

    문제https://www.acmicpc.net/problem/7785 코드 const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const n = parseInt(input[0], 10);const officeLog = new Map();// 각 로그를 처리for (let i = 1; i b.localeCompare(a));console.log(remainingPeople.join('\n'));문제 해설이 문제는 회사에 출근하거나 퇴근한 사람들의 기록을 바탕으로 현재 회사에 남아 있는 사람들의 이름을 사전 역순으로 출력하는 문제입니다.  이 문제 역시 Set을 사용하여 해결했습니다..

    [바미] 문자열 집합

    문제https://www.acmicpc.net/problem/14425코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 1. 첫 번째 줄에서 N과 M을 가져와야 함.// 2. 집합 S의 문자열을 저장해야함.// 3. 검사해야 하는 문자열들을 가져와야 함.// 각 문자열에 대해 집합 S에 포함되어 있는 지 확인 해야함.// 결과 출력.// 첫 번째 줄에서 N과 M을 가져옴.const [N, M] = input[0].split(' ').map(Number);// 집합 S의 문자열을 'Set'에 저장.const setS = new Set(input.slice(1, N + 1)..

    [바미] 숫자 카드

    문제https://www.acmicpc.net/problem/10815</span..

    [바미] 좌표 압축

    문제https://www.acmicpc.net/problem/18870<..