본문 바로가기

알고리즘70

[자바스크립트/알고리즘] 프로그래머스 - 파일명 정렬: 2018 카카오 블라인드 [문제] 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 1. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 또한, 버전 번호 외에도 숫자가 포함된 파일 목록은 여러 면에서 관리하기 불편했다. 2. 무지는 단순한 문자 코드 순이 아닌, 파일명에 포함된 숫자를 반영한 정렬 기능을 저장소 관리 프로그램에 구현하기로 했다. 3. 파일명은 크게 HEAD, NUMBER, TAIL의 세 부분으로 구성된다. 4. 무지를 도와 파일명 정렬 프로그램을 구.. 2022. 7. 4.
[노드JS/알고리즘] 백준 - 1063번 킹 [문제] 1063번: 킹 8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 www.acmicpc.net [코드 풀이] let [positions, ...commands] = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt") .toString() .trim() .split("\n"); // A-H열을 숫자로 라벨링 const pos = { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, }; // 방향 정의 const move.. 2022. 6. 30.
[노드JS/알고리즘] 백준 - 17609번 회문 [문제] 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net [메모리 초과 뜬 코드] const [_, ...words] = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt") .toString() .trim() .split("\n"); const result = []; for (const word of words) { if (word === word.split("").reverse().join("")) result.push(0); // 회문.. 2022. 6. 4.
[노드JS/알고리즘] 백준 - 1213번 팰린드롬 만들기 [문제] 2022. 6. 1.
[노드JS/알고리즘] 백준 - 3568번 iSharp [문제] 3568번: iSharp 입력으로 주어진 변수 선언문을 문제의 조건에 맞게 변형한 뒤, 한 줄에 하나씩 출력한다. 변수형과 변수명 사이에는 공백이 하나 있어야 한다. 출력은 입력으로 주어진 변수 선언문에서 변수가 www.acmicpc.net [코드 & 풀이] // common은 기본 변수형, input은 변수 선언들 let [common, ...input] = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt") .toString() .trim() .split(" "); input = input.map((v) => v.replace(",", "")); // 쉼표를 없애줌 input[input.l.. 2022. 5. 30.
[자바스크립트/알고리즘] HackerRank - Flipping bits Success Rate: 97.64%, 난이도: Basic 문제이다. 비트 연산으로 풀 수 있지만, 더 간단한 솔루션을 찾았다. - 문제 32비트 unsigned 정수가 주어지면, 비트 1은 0으로, 비트 0은 1로 반전시키고 unsigned integer로 결과를 리턴하여라. - 예시 [입력값] 3 2147483647 1 0 [출력값] 2147483648 4294967294 4294967295 - 풀이 'use strict'; const fs = require('fs'); process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString = ''; let currentLine = 0; process.stdin.on('data', fu.. 2022. 4. 3.