Sapphire9 개발 일지
구름 LEVEL - 단어의 개수 세기 (JavaScript)
알고리즘/기타 2023. 2. 11. 00:34

생각해보기 문자열 양 끝의 공백과 문자열 사이 여러 개의 공백을 고려해야 한다. 또한 입력 문자열이 공백일 경우에 대한 예외 처리가 필요하다. 풀이) // Run by Node.js const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let str; function wordsCount (str) { const words = str.trim().replace(/ +/g, ' '); // +는 1개 이상의 문자 패턴, 글로벌(g) if (words.length == 0) return console.log('0'); wordList = wo..

구름 LEVEL - 근묵자흑 (JavaScript)
알고리즘/기타 2023. 2. 10. 23:58

생각해보기 K = 2 : N = 2, 3, 4, ... K = 3 : N = 3, 4, 5, ... 반복 시행을 통해 규칙성을 찾을 수 있다. 풀이) // Run by Node.js const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); const solution = (data) => { const [N, K] = data[0].split(' ').map(Number); console.log(Math.ceil((N - K)/(K - 1) + 1)); } let data = []; rl.on("line", function(line) { if..

백준 2343번 - 기타 레슨 (Python)
알고리즘/이분탐색 2023. 2. 7. 00:22

https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 생각해보기 M개의 블루레이를 기준으로 블루레이의 최소 크기를 찾는 이분탐색 문제이다. 각 강의의 길이는 오름차순으로 정렬되어 있지 않고, 순서가 변경되어선 안된다. 따라서 start는 배열의 max, end는 배열의 합으로 정한다. 처음에는 각 블루레이의 크기를 배열에 저장했으나 이는 불필요한 연산이었을 뿐 아니라, 연산을 끝까지 했을 때 올바른 결과를 저장하고 있지 않았다. 블루레이의 개수인 cnt를 ..

백준 14226번 - 이모티콘 (Python)
알고리즘/BFS & DFS 2023. 2. 6. 05:00

https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 생각해보기 매 시행마다 세 가지 연산 중 하나를 수행하며, S개의 이모티콘을 만드는데 걸리는 최소 시간을 구한다. 이모티콘의 개수와 클립보드 둘 다 고려해야 한다. BFS로 어떻게 탐색하게 할 것인가? 방문 체크를 세 가지 연산과 함께 고려한다. 풀이 1) 방문 체크를 2차원 배열로 하기 import sys from collections import deque input = sys.stdin.rea..

검색 태그