전체 글

전체 글

    [바미] 수 정렬하기 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((..

    [바미] 커트라인

    문제 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..

    [바미] [루머] 애플, 네 가지 버전의 M4 칩셋 준비 중, 최상위 M4 울트라 코드명은 히드라

    애플의 최신 M4 SoC를 탑재한 일련의 업그레이드된 Mac이 올해 말 출시될 예정이며, M3 공개 때와 비슷한 공개 전략을 따르고 있는 것으로 알려졌습니다. 간단히 말해서, 앞으로 4개의 차세대 칩셋이 발표될 예정이며, M4 울트라 역시 애플의 가장 강력한 기기를 위해 개발될 것으로 알려져 있습니다. 새로운 보고서에 따르면 모든 M4 칩셋은 고급 AI 관련 기능을 지원하기 때문에 놀라운 처리 능력을 자랑할 것이라고 합니다 특히 애플의 M3 Ultra가 아직 구체화되지 않은 상황에서 M4 사양이 이렇게 일찍 공개되었다는 소식은 놀라운 일이 아닙니다. 그럼에도 불구하고 마크 거먼의 'Power On' 뉴스레터는 M4 Pro 및 M4 Max와 함께 기본 M4의 출시에 대해 이야기합니다. 세 가지 애플 실리콘..

    [바미] 영화감독 숌

    문제 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++; // ..

    [바미] 슬라이딩 윈도우 기법

    시작 안녕하세요. 지난번에 체스판 다시 칠하기문제를 풀면서 사용한 윈도우 슬라이딩 기법에 대해 자세히 알아보기 위해 포스팅을 해보려 합니다. 슬라이딩 윈도우 기법? 체스판 다시 칠하기 문제에서 설명했듯이 슬라이딩 윈도우 기법은 배열이나 리스트의 항목을 순차적으로 탐색할 때 사용하는 알고리즘 기법 중 하나입니다. 이 기법은 "창" 또는 "윈도우"라고 할 수 있는 고정된 크기의 부분 배열이나 서브 리스트를 이동시키면서 문제를 해결합니다. 이 윈도우는 데이터 구조를 통해 한 번에 한 항목씩 앞으로 이동하면서 연속적인 데이터의 범위를 처리합니다. 보통 슬라이딩 윈도우 기법은 아래와 같은 상황에서 사용하면 굉장히 유용합니다. 배열이나 리스트에서 고정된 크기의 윈도우를 슬라이드하면서, 각 윈도우에 대한 최대값 또는..

    [바미] 체스판 다시 칠하기

    문제 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 코드 및 코드 설명 const input = require('fs').readFileSync('/dev/stdin').toString().split('\n'); const [N, M] = input[0].split(" ").map(Number); // 보드 상태를 2D 배열로 저장 const board = input.slice(1, N + 1); function countRepaint..