전체 글
-
[JavaScript] 대충 만든 자판JavaScript_알고리즘 2024. 8. 7. 21:26
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB구현 3. 자바스크립트 코드 function solution(keymap, targets) { let answer = [] // 목표가 되는 값을 탐색 for (target of targets) { // 총 몇번의 횟수를 눌러야는지 체크 let total = 0 // 한 문자씩 ..
-
14891. [Python]톱니바퀴Python_알고리즘/Gold V 2024. 8. 7. 21:24
1. 문제 https://www.acmicpc.net/problem/14891 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB구현시뮬레이션 3. 파이썬 코드 import sysfrom collections import deque# 시계 방향 회전def right(target): check = matrix[target].pop() matrix[target].appendleft(check)# 반시계 방향 회전def left(target): check = matrix[target].popleft() matrix[target].append(check)# 연결된 톱니바퀴 체크def DFS(start,dir): # 방문처리를 통해 연결된 톱니바퀴 회전 visited = [..
-
2589. [Python]보물섬Python_알고리즘/Gold V 2024. 8. 6. 18:22
1. 문제 https://www.acmicpc.net/problem/2589 2. 접근 방법 시간 제한: 1초메모리 제한: 512MB너비 우선 탐색 3. 파이썬 코드 from collections import dequeimport sysinput = sys.stdin.readline# 방향 탐색direction = [(0,-1), (-1,0), (0,1), (1,0)]# 너비 우선 탐색def BFS(x,y): global max_value visited = [ [0] * M for _ in range(N) ] visited[x][y] = 1 queue = deque([(x,y)]) while queue: check = queue.popleft() fo..
-
14888. [Python]연산자 끼워넣기Python_알고리즘/Silver I 2024. 7. 31. 19:17
1. 문제 https://www.acmicpc.net/problem/14888 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB브루트 포스백트래킹 3. 파이썬 코드 def backtracking(index): global N global min_value global max_value # 백트래킹 마지막 도달 if index == N-1: # 추가되지 않은 마지막 숫자 추가 ans.append(num_list[index]) # 초기 계산값으로 0번 인덱스 숫자 check = num_list[0] # 현재 리스트 길이 측정 list_length = len(ans) # 총 길이가 숫자 리..
-
2470. [Python]두 용액Python_알고리즘/Gold V 2024. 7. 29. 17:46
1. 문제 https://www.acmicpc.net/problem/2470 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB투 포인터 3. 파이썬 코드 2025-01-18 일에 다시 푼 코드N = int(input())num_list = list(map(int,input().split()))num_list.sort()left = 0right = N - 1target = 10**9answer = []if num_list[0] >= 0: answer = [num_list[0], num_list[1]]elif num_list[-1] = 0: right -= 1 else: left += 1print(*answer)5달 전에 푼 코드N = int(..
-
1526. [JavaScript]가장 큰 금민수JavaScript_알고리즘/Bronze I 2024. 7. 16. 03:12
1. 문제 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB구현 3. 자바스크립트 코드 const fs = require('fs')const input = fs.readFileSync('./1526.txt').toString().trim()const inputLength = input.lengthconst N = Number(input)// 리스트let ans = []// 최대값 갱신let max_value = 0// 백트래킹으로 구현function backtracking(start) {// 초기 조사한 input 길이보다 작은경우 if (start 4. 문제를 풀고난 후 생각 백트래킹을 통해서 input 보다 작은 값의 경우 최대값을 갱신해 가며 문제를 해결하는 구조로 구현했다. 5...
-
20922. [Python]겹치는 건 싫어Python_알고리즘/Silver I 2024. 7. 15. 12:50
1. 문제 https://www.acmicpc.net/problem/20922 2. 접근 방법 시간 제한: 1초메모리 제한: 1024MB투 포인터 3. 파이썬 코드 N, K = map(int, input().split())num_list = list(map(int, input().split()))num_cnt = [0] * 100001# 시작left = 0# 끝right = 0# 최대 길이 체크max_length = 0# N까지 반복문 진행while right K: # max_length 값 갱신 if max_length K: num_cnt[num_list[left]] -= 1 left += 1 right += 1# 맨 마지막 리..
-
2212. [Python]센서Python_알고리즘/Gold V 2024. 7. 12. 07:57
1. 문제 https://www.acmicpc.net/problem/2212 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB그리디 알고리즘 3. 파이썬 코드 N = int(input())K = int(input())num_list = list(map(int,input().split()))# 집중국의 개수가 더 많으면 그냥 다 놓기때문에 0 처리if K >= N: print(0)# 외의 경우else: # 중복된 개수를 체크하는 변수 cnt = 0 # 기지국 정렬 num_list.sort() # 기지국들 거리를 체크할 리스트 answer_list = [] # 기지국 반복문 진행 for i in range(1,N): # 앞뒤값을 비교하므로 ..
-
16724. [Python]피리 부는 사나이Python_알고리즘/Gold III 2024. 7. 9. 05:15
1. 문제 https://www.acmicpc.net/problem/16724 2. 접근 방법 시간 제한: 1초메모리 제한: 256MBDFS(깊이 우선 탐색)스택 3. 파이썬 코드 import sysinput = sys.stdin.readline# 방향 배열 탐색def DFS(index): # 몇번째 DFS진행인지 체크 global safe_cnt stack = [index] while stack: check = stack.pop() # 다음 위치를 dictionary를 통해서 받아옴 next = direction[matrix[check[0]][check[1]]] # 다음 위치 갱신 ny = next[0] + check..
-
1695. [Python]팰린드롬 만들기Python_알고리즘/Gold III 2024. 7. 4. 12:55
1. 문제 https://www.acmicpc.net/problem/1695 2. 접근 방법 시간 제한: 2초메모리 제한: 128MBDP(다이나믹 프로그래밍) 3. 파이썬 코드 N = int(input())# 숫자 리스트 저장num_list = list(map(int,input().split()))# 리스트 역순으로 저장reversed = num_list[::-1]# LCS 적용 리스트matrix = [[0] * (N+1) for _ in range(N+1)]# 기존리스트와 역순 리스트 값을 비교해가며 같은 값의 경우 i-1, j-1 값을 +1 해줌 외의 경우 max 해서 위의 값과 왼쪽 값을 비교for i in range(1,N+1): for j in range(1,N+1): if ..