문제https://www.acmicpc.net/problem/4659 풀이const input = require("fs") .readFileSync( process.platform === "linux" ? "/dev/stdin" : __dirname + "/example.txt" ) .toString() .trim() .split("\n") .map((e) => e.trim());let answer = [];const checkMou = (st) => { const aeiou = /[aeiou]/.test(st); return aeiou;};const checkTriple = (st) => { let aCnt = 0; let cnt = 0; for (let s of st) { ..
코딩 테스트/백준
문제https://www.acmicpc.net/problem/1956 코드const input = require('fs') .readFileSync(process.platform === 'linux' ? '/dev/stdin' : __dirname + '/example.txt') .toString().trim().split('\n');const [v, e] = input.shift().split(' ').map(Number);const road = input.map(e => e.split(' ').map(Number));const village = Array.from({ length: v }, (_, idx) => Array.from({ length: v }, (__, i) => idx === i ?..
문제https://www.acmicpc.net/problem/2504 풀이문제는 기본적으로 스택 문제이지만, 중간에 숫자를 계산한다는 점이 좀 걸리는 문제이다... 숫자 계산 로직의 경우 조금 근본적으로 접근했다. ( 나 [ 가 stack에 들어오는 경우 그 안에 있는 숫자들이 2 또는 3 만큼 곱해져 결과값에 더해진다는 특징을 이용해 temp변수에 괄호의 깊이에 따른 값을 정의했으며, 완벽한 괄호가 완성된 경우 그 깊이에 따른 값을 더해주면 값을 도출했다. 코드const input = require("fs") .readFileSync( process.platform === "linux" ? "/dev/stdin" : __dirname + "/example.txt" ) .toString() ..
문제https://www.acmicpc.net/problem/2941 첫 번째 풀이처음 시도한 풀이는 문자열을 인덱스별로 탐색을 진행할때 크로아티아 알파벳의 첫 글자가 나오면 그 다음 문자들을 확인하는 방식을 선택했다. 주의할 점은 for문을 이용한 탐색을 진행할 때 전체 길이의 - 2 까지 탐색한다는 것이다. 이는 dz=가 나오면 인덱싱이 안되는 경우의 수가 있을 수 있다고 판단했다. 코드// 첫 시도(성공)const input = require("fs") .readFileSync( process.platform === "linux" ? "/dev/stdin" : __dirname + "/example.txt" ) .toString() .trim() .split("\n");const st..
문제https://www.acmicpc.net/problem/1976 코드const input = require("fs") .readFileSync( process.platform === "linux" ? "/dev/stdin" : __dirname + "/example.txt" ) .toString() .trim() .split("\n");const n = +input.shift();const m = +input.shift();const road = Array.from({ length: n }, (_, i) => input[i].split(" ").map(Number));const path = input[n].split(" ").map((e) => +e - 1);let tripped ..
문제https://www.acmicpc.net/problem/8979 풀이이 문제의 경우는 정렬과 구현을 해야하는 문제이다. 각 나라별 금, 은, 동 메달의 개수에 따른 정렬을 해준다.arr.sort((a, b) => { if (b[1] > a[1]) return 1; else if (b[1] === a[1]) { if (b[2] > a[2]) return 1; else if (b[2] === a[2]) { if (b[3] > a[3]) return 1; else if (b[3] === a[3]) return 0; else return -1; } else return -1; } else return -1;}); 이어서 각 나라별 등수를 매겨야하는데, 주의할..