하루 알고리즘(JS)

    [바미] 좌표 정렬하기 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)..

    [바미] 좌표 정렬하기

    문제https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기첫째 줄에 점의 개수 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.x === b.x) {..

    [바미] 소트인사이드

    문제https://www.acmicpc.net/problem/1427 1427번: 소트인사이드첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.www.acmicpc.net코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim();// 숫자를 문자열로 변환, 배열로 만들기const digits = input.split('');// 배열 정렬 (내림차순)digits.sort((a, b) => b - a);// 배열을 문자열로 다시 결합const result = digits.join('');console.log(result);코드 설명split('')을 사용..

    [바미] 수 정렬하기 2

    문제https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,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 numbers = input.slice(1, N + 1).map(Number);// 오름차순 정렬numbers.sort((a, b) => a..

    [바미] 커트라인

    문제 https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 코드 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); const [N, k] = input[0].split(' ').map(Number); const scores = input[1].split(' ').map(Number); // 점수를 내림차순으로 정렬 scores.sort((a, b) => b - a); // 상을 받는 커트라인..

    [바미] 대표값 2

    문제 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 코드 const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(Number); // 평균 계산 const average = Math.floor(input.reduce((acc, cur) => acc + cur, 0) / inpu..

    [바미] 수 정렬하기

    문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,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 numbers = input.slice(1).map(Number); // 첫 번째 줄을 제외하고 숫자로 변환 numbers.sort((a, b)..

    [바미] 설탕 배달 다국어

    문제 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 코드 function minBagsOfSugar(N) { let fiveKgBags = Math.floor(N / 5); // 가능한 한 많은 5kg 봉지 수 let remainingWeight = N % 5; // 5kg 봉지 사용 후 남은 무게 while (fiveKgBags >= 0) { if (remainingWeight % 3 === 0) { // 남은 무게가 3kg 봉지로 딱 맞을 경우 re..

    [바미] 영화감독 숌

    문제 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 코드 및 코드 설명 function findNthTitle(n) { let count = 0; // 666을 포함하는 숫자의 개수를 세기 위한 카운터 let num = 666; // 종말의 수 검색을 시작할 값 while (true) { if (num.toString().includes('666')) { // 숫자를 문자열로 변환하여 '666'이 포함되어 있는지 확인 count++; // ..