전체 글
-
10026. [Python]적록색약Python_알고리즘/Gold V 2024. 6. 28. 12:51
1. 문제 https://www.acmicpc.net/problem/10026 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB깊이 우선 탐색 3. 파이썬 코드 def DFS(start, flag): # DFS 진행 global count stack = [start] # 초기값 선언 visited[start[0]][start[1]] = True while stack: y,x = stack.pop() # 방향 배열 탐색 for k in range(4): ny = y + direction[k][0] nx = x + direction[k][1] # 범위내 존재 시 ..
-
5972. [Python]택배 배송Python_알고리즘/Gold V 2024. 6. 20. 18:50
1. 문제 https://www.acmicpc.net/problem/5972 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB다익스트라 3. 파이썬 코드 import sysimport heapq# 다익스트라 알고리즘def dijkstra(start): # 항상 초기 거리 0 선언 및 시작 위치!!! 중요 distance[start] = 0 queue = [(0,1)] # 우선순위 큐를 통해서 구현 while queue: # 현재 비용과 노드 pop cost, now = heapq.heappop(queue) # 현재 거리에 cost 값과 노드에 cost 값이 더 큰 경우 반복문 마저 진행 if cost > distance..
-
1105. [Python]팔Python_알고리즘/Silver I 2024. 6. 20. 17:44
1. 문제 https://www.acmicpc.net/problem/1105 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB수학그리디 알고리즘 3. 파이썬 코드 L, R = map(str,input().split())# 인풋 값의 길이 측정L_length = len(L)R_length = len(R)# 각 인풋에서 들어온 값들에 8 이 있는지 체크하고 없으면 무조건 0 이 나오게 된다.# 또한 각각 길이를 비교하여 두 길이가 다른경우도 무조건 0이 나오게된다.if L.count("8") == 0 or R.count("8") == 0 or L_length != R_length: print(0)# 외의 경우else: # cnt 변수를 선언해주고 cnt = 0 # 길이가 같기 때..
-
9252. [Python]LCS 2Python_알고리즘/Gold IV 2024. 6. 20. 16:03
1. 문제 https://www.acmicpc.net/problem/9252 2. 접근 방법 시간 제한: 2초 (Python)메모리 제한: 256MBLCSDP 3. 파이썬 코드 # 재귀 제한 해제import syssys.setrecursionlimit(10000)# 재귀함수를 통해서 문자 찾기def backtracking(start, value): global max_value global ans global word_two # 최대 길이 도달했을때 종료 if value == 0: print(max_value) print(ans[::-1]) exit() # 현재 칸에서 위로 간 값과 왼쪽으로 간 값을 비교해서 작은 값찾는 재귀 ..
-
4344. [JavaScript]평균은 넘겠지JavaScript_알고리즘/Bronze I 2024. 6. 17. 19:43
1. 문제 https://www.acmicpc.net/problem/4344 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB사칙연산 3. 자바스크립트 코드 // 인풋 처리 부분const fs = require("fs");let [N, ...input] = fs.readFileSync("./4344.txt").toString().trim().split("\n");// input 을 한줄씩 반복분 진행for (line of input) { // 2차원 배열형태이기 때문에 한번더 Number로 치환 let group = line.split(" ").map(Number); // Number로 치환한 부분에서 사람수, 점수로 분할 let [people, ...score] = group; //..
-
2163. [JavaScript]초콜릿 자르기JavaScript_알고리즘/Bronze I 2024. 6. 17. 19:41
1. 문제 https://www.acmicpc.net/problem/2163 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB계산 3. 자바스크립트 코드 // 인풋 불러오는 부분let fs = require("fs");// trim 으로 공백 제거 후 " "으로 쪼개기let input = fs.readFileSync("./2163.txt").toString().trim().split(" ");// N, M 값을 input 으로 받아오기N = parseInt(input[0]);M = parseInt(input[1]);// 1, 1 인 경우 쪼갤 필요가 없어서 바로 0 출력if (N === 1 && M === 1) { console.log(0);} else { console.log(N * M -..
-
9506. [JavaScript]약수들의 합JavaScript_알고리즘/Bronze I 2024. 6. 17. 19:40
1. 문제 https://www.acmicpc.net/problem/9506 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB수학구현정수론 3. 자바스크립트 코드 // 인풋 처리 부분const fs = require("fs");const input = fs.readFileSync("./9506.txt").toString().trim().split("\n");// of 를 통해서 input 값 순회for (num of input) { // String 으로 되어있는 부분 int 로 치환하여 -1 인 경우 반복문 탈출 (사실 필요없음 한번에 읽기 때문에) if (parseInt(num) === -1) { break; } else { // value 로 num 이라는 변수 Int 변환 ..
-
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): # 두번째 단어 반복..