프로그래밍(Basic)/하루 알고리즘(JS)

    [바미] 숫자 카드 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<..

    [바미] 나이순 정렬

    문제https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을www.acmicpc.net코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const N = parseInt(input[0], 10);const members = [];for (let i = 1; i a.age - b.age);// 결과 출력let result = '';members.forEach(..

    [바미] 단어 정렬

    문제https://www.acmicpc.net/problem/1181 1181번: 단어 정렬첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.www.acmicpc.net 코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const N = parseInt(input[0], 10);const words = new Set(input.slice(1, N + 1));// 중복 제거된 단어들을 길이와 사전 순으로 정렬const sort..

    [바미] 좌표 정렬하기 2

    문제https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.www.acmicpc.net코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const N = parseInt(input[0], 10);const points = [];for (let i = 1; i { if (a.y === b.y)..