분류 전체보기
-
2153. [JavaScript]소수 단어JavaScript_알고리즘/Bronze II 2024. 6. 17. 17:28
1. 문제 https://www.acmicpc.net/problem/2153 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB소수 판별 3. 자바스크립트 코드 // 에라토스테네스의 체function primeCheck(checkNumber) { // 이 문제에서는 1도 소수라 판단해서 0만 소수 예외 처리한 후 나머지 false 로 초기화 let primeList = Array(1).fill(true).concat(Array(10000).fill(false)); // 최대 52 * 20 개 까지 공간이 필요하지만 넉넉하게 10000 선언 for (let i = 2; i 백준은 /dev/stdin 으로 변형 // trim 으로 공백제거const input = fs.readFileSync(..
-
1977. [JavaScript]완전제곱수JavaScript_알고리즘/Bronze II 2024. 6. 17. 17:27
1. 문제 https://www.acmicpc.net/problem/1977 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB수학브루트포스 3. 자바스크립트 코드 // JS 노드 모듈 불러오기let fs = require("fs");// 파일 읽어서 string으로 변환 한 후 공백으로 분리let input = fs.readFileSync("./1977.txt").toString().split("\n");// 시작점 끝점 변수 선운const start = parseInt(input[0]);const end = parseInt(input[1]);// 최소값 저장할 변수let min_value = 10 ** 9;// 1씩 증가할 변수와 총합값 저장let number = 1;let total = 0;..
-
9251. [Python]LCSPython_알고리즘/Gold V 2024. 6. 16. 15:14
1. 문제 https://www.acmicpc.net/problem/9251 2. 접근 방법 시간 제한: 0.1초메모리 제한: 256MB다이나믹 프로그래밍 3. 파이썬 코드 from pprint import pprint as printword_one = input()word_two = input()# 처음 단어의 길이one_length = len(word_one)# 두번째 단어의 길이two_length = len(word_two)# LCS 적용할 리스트LCS_matrix = [ [0]*(one_length+1) for _ in range(two_length+1)]# 최대값 체크할 변수max_value = 0# 처음단어 반복문for i in range(one_length+1): # 두번째 단어 반복..
-
LCS 알고리즘알고리즘 2024. 6. 16. 15:07
1. LCS 알고리즘이란❓최장 공통 부분수열(Longest Common Subsequence)연속되지 않은 부분 문자열을 찾는 것 최장 공통 문자열(Longest Common Substring)연속되는 부분 문자열을 찾는 것 최장 공통 부분수열(Longest Common Subsequence)은 BCDF, BCDE가 될 수 있습니다. 부분수열이기 때문에 문자 사이를 건너뛰어 공통되면서 가장 긴 부분 문자열을 찾으면 됩니다. 최장 공통 문자열(Longest Common Substring)은 BCD입니다. 부분문자열이 아니기 때문에 한번에 이어져있는 문자열만 가능합니다.2. 최장 공통 문자열 (Longest Common Substring) 최장 공통 부분 문자열(Longest Common Subsequen..
-
12865. [Python]평범한 배낭Python_알고리즘/Gold V 2024. 6. 5. 01:27
1. 문제 https://www.acmicpc.net/problem/12865 2. 접근 방법 시간 제한: 2초메모리 제한: 512MBDP(다이나믹 프로그래밍) 3. 파이썬 코드 import sysinput = sys.stdin.readlineN, K = map(int,input().split())# 가방bag = []# weight, value 값 가방에 저장for _ in range(N): weight, value = map(int,input().split()) bag.append((weight,value))# dp 값을 K(무게) +1 만큼 생성dp = [0] * 100001# N개의 물건 개수만큼 반복for i in range(N): # weight, value 값 분해 w..
-
13549. [Python]숨바꼭질 3Python_알고리즘/Gold V 2024. 5. 22. 13:54
1. 문제 https://www.acmicpc.net/problem/13549 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB다익스트라 3. 파이썬 코드 import heapq# 다익스트라def dijkstra(start): queue = [] # 우선순위 큐 heapq.heappush(queue, (0,start)) while queue: # 시간, 위치 time, now = heapq.heappop(queue) # +1 한 값, -1 한 값, *2 한 값 next_add = now+1 next_min = now-1 next_multi = now*2 # +1 한 값이 100000 이하..
-
11052. [Python]카드 구매하기Python_알고리즘/Silver I 2024. 5. 20. 19:36
1. 문제 https://www.acmicpc.net/problem/11052 2. 접근 방법 시간 제한: 1초메모리 제한: 256MBDP(다이나믹 프로그래밍) 3. 파이썬 코드 # i 장을 구매하기 위한 최대값 계산 방법 접근N = int(input())# 카드 리스트 저장card_list = list(map(int,input().split()))# dp 시작dp = [0] * (N+1)# dp[1] 값 card_list[0] 으로 초기화dp[1] = card_list[0]# N+1 까지 반복문for i in range(2,N+1): # i 값까지 반복문 시행 for j in range(1,i+1): # i 번 dp 에는 i 번째 카드를 구매하기 위해서 최대 값을 갱신해야함 ..
-
14284. [Python]간선 이어가기 2Python_알고리즘/Gold V 2024. 5. 8. 20:49
1. 문제 https://www.acmicpc.net/problem/14284 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB다익스트라 알고리즘 3. 파이썬 코드 import sysimport heapqinput = sys.stdin.readline# 다익스트라 알고리즘def dijkstra(start): # q 초기화 q = [] # heapq 로 q 리스트 생성 heapq.heappush(q,(0,start)) # distance로 초기 시작점 0 으로 초기화 distance[start] = 0 # q 값이 존재할 경우 반복문 진행 while q: # 거리, 현재 값으로 값을 뽑아냄 dist, now = heapq.heapp..
-
7569. [Python]토마토Python_알고리즘/Gold V 2024. 4. 25. 01:47
1. 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100,www.acmicpc.net 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB그래프 탐색 3. 파이썬 코드 import sysfrom collections import dequeinput = sys.stdin.readlineN, M, H = map(int,input().split())tomato = [ list(map(int,input().split())) for _ in range(M*..
-
1932. [Python]정수 삼각형Python_알고리즘/Silver I 2024. 4. 22. 19:47
1. 문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB DP(다이나믹 프로그래밍) 3. 파이썬 코드 import sys # 많은 인풋 처리 input = sys.stdin.readline N = int(input()) # 숫자 저장할 리스트 num_list = [] # 숫자 저장 for _ in range(N): num_list.append(list(map(int,input().split()))) # 1 ~ N 까지 반복 for i in range(1,N..