분류 전체보기
-
1094. [JavaScript]막대기JavaScript_알고리즘/Silver V 2024. 7. 1. 17:51
1. 문제 https://www.acmicpc.net/problem/1094 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB수학 3. 자바스크립트 코드 // 인풋const fs = require("fs");const input = parseInt(fs.readFileSync("./1094.txt").toString().trim());// 막대길이 64let bar = 64;// 자른 막대 저장 리스트let barList = [];// 총 길이 체크let total = 0;// 몇개 사용했는지 체크let count = 0;if (input === bar) { // 막대가 64이고 X값이 64인 경우 1개의 막대만 사용 console.log(count + 1);} else { // 외의 경우 ..
-
23978. [Python]급상승Python_알고리즘/Gold V 2024. 7. 1. 16:59
1. 문제 https://www.acmicpc.net/problem/23978 2. 접근 방법 시간 제한: 1초메모리 제한: 512MB이분 탐색 3. 파이썬 코드 N, K = map(int,input().split())days = list(map(int,input().split()))# 시작 값start = 1# 끝 값 구하고자 하는 돈end = K# 이분 탐색while start = K: end = cost - 1 # 작은 경우 start 값을 높여 값을 높임 else: start = cost + 1print(start) 4. 문제를 풀고난 후 생각 문제를 읽고 숫자의 범위가 너무 커서 이분 탐색 방법을 고민했고 어떤 값을 가지고 이분탐색을 진행할지 생각을 많이했던 ..
-
2531. [Python]회전 초밥Python_알고리즘/Silver I 2024. 6. 30. 15:26
1. 문제 https://www.acmicpc.net/problem/2531 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB브루트포스슬라이딩 윈도우 3. 파이썬 코드 # 많은 인풋 처리import sysinput = sys.stdin.readlineN, d, k, c = map(int,input().split())# 초밥 저장할 리스트select_list = []for _ in range(N): select_list.append(int(input()))# 리스트를 k 만큼 확장for i in range(k-1): select_list.append(select_list[i])# 최대 길이 측정max_value = 0# N 까지 반복for i in range(N): # set으로 중..
-
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 변환 ..