🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준
-
[백준/2. 분할정복,이분탐색] 1654번. 랜선자르기(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 21. 09:44
문제 https://www.acmicpc.net/problem/1654 알고리즘 이분탐색을 이용하는 문제이다. 최대 길이의 랜선을 구하는 것이 목표이다. 이분탐색을 하기 위해서는 먼저 정렬되어 있어야 하므로, 주어진 랜선 길이들을 정렬한다. 초기 left 값을 1로 right 값을 현재 주어진 랜선 길이 값들 중 가장 큰 input[K-1]로 설정한다. 중간 mid값은 ( left + right ) / 2로 둔다. 해당 mid값일 때 만들 수 있는 개수(리턴된 개수)가 원하는 것보다 적으면, 더 많이 리턴해야 하므로 쪼개는 기준치가 더 작아야 한다. 따라서 right를 mid-1로 설정하여, 다시 while문 조건을 확인하여 해당되면 반복문을 다시 돈다. 해당 mid값일 때 만들 수 있는 개수(리턴된 개..
-
[백준/4. 선형자료구조(스택)] 9012번. 괄호 (JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 20. 16:34
문제 https://www.acmicpc.net/problem/9012 풀이 // 백준 입출력을 위한 코드 // const readline = require("readline"); // const rl = readline.createInterface({ // input: process.stdin, // output: process.stdout, // }); // let input = []; // rl.on("line", function (line) { //여러줄 입력 // input.push(line) // //rl.close()가 없어서 계속입력 // //로컬에서 입력을 중지할려면 입력을 한 후 'ctrl + D'을 통해 입력 종료 // }).on("close", function () { // // 이..
-
[백준/2.분할정복,이분탐색] 2747번. 피보나치 수(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 20. 15:55
방법1 시간초과 발생 https://www.acmicpc.net/problem/2747 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input; rl.on("line", function (line) { //한 줄 입력 input = line; input = parseInt(line); //rl.close()가 없어서 계속입력 //로컬에서 입력을 중지할려면 입력을 한 후 'ctrl + D'을 통해 입력 종료 }).on("close", function () { // 이런식으로 적절하게 입력값을 처리해줘야한다. console..
-
[최고빈출 DFS, BFS 기본문제] DFS와 BFS(1260번)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 2. 16:40
1. 문제 설명 https://www.acmicpc.net/problem/1260 2. 나의 풀이 from collections import deque # n: 정점의 개수, m: 간선의 개수, v: 시작 정점 n, m, v = map(int, input().split()) graph = [[] for _ in range(n+1)] visited = [False for _ in range(n+1)] #각 노드가 방문된 정보를 표현 for i in range(m): #중요한 점! sort로 정렬해주고 stack이나 queue에 넣어야 한다. start, end = map(int, input().split()) graph[start].append(end) graph[end].append(start) grap..
-
[준비운동 PART1. 튼튼한 기본기] 쉽게 푸는 문제 (1292번)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 2. 12:08
1. 문제 설명 https://www.acmicpc.net/problem/1292 2. 나의 풀이 (1) 틀린 코드.. 왜일까? 🤔테스트케이스는 통과했으나 백준 통과 못함. a, b = map(int, input().split()) answer = 0 problem = '' for i in range(1, b+1): problem += str(i)*i answer_str = problem[a-1:b] for i in range(len(answer_str)): answer += int(answer_str[i]) print(answer) (2) 정답 코드 a, b = map(int, input().split()) problem = [] for i in range(1, b+1): problem += [i]*i..