전체 글
-
[JavaScript]호텔 대실JavaScript_알고리즘 2024. 9. 5. 16:14
1. 문제 2. 접근 방법 1 ≤ book_time의 길이 ≤ 1,000book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다[대실 시작 시각, 대실 종료 시각] 형태입니다.시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다. 예약 시각이 자정을 넘어가는 경우는 없습니다.시작 시각은 항상 종료 시각보다 빠릅니다.book_timeresult[["15:00", "17:00"], ["16:40", "18:20"], ["14:20", "15:20"], ["14:10", "19:20"], ["18:20", "21:20"]]3[["09:10", "10:10"], ["10:20", "12:20"]]1[["10:20", "12:30"..
-
2294. [Python]동전 2Python_알고리즘/Gold V 2024. 9. 5. 14:14
1. 문제 https://www.acmicpc.net/problem/2294 2. 접근 방법 시간 제한: 1초메모리 제한: 128MBDP(다이나믹 프로그래밍) 3. 파이썬 코드 import sysinput = sys.stdin.readlinen, k = map(int,input().split())coins = []# 동전 저장for _ in range(n): coins.append(int(input()))# 동전 정렬coins.sort()# 동전 중복 제거coins = set(coins)# 초기 값으로 10**9 설정 => 동전의 개수가 최소로 사용되기 떄문에 0으로 하면 min 값이 변동됨dp = [10**9] * 100001# 동전 순회for coin in coins: # coin 위치 동..
-
2293. [Python]동전 1Python_알고리즘/Gold V 2024. 9. 5. 05:43
1. 문제 2. 접근 방법 시간 제한: 0.5초메모리 제한: 4MBDP 3. 파이썬 코드 import sysinput = sys.stdin.readlinen, k = map(int,input().split())# 동전 저장 리스트coins = []# 동전 저장for _ in range(n): coins.append(int(input()))# 동전 정렬coins.sort()dp = [0] * (k+1)# 0원을 만드는 방법도 1개dp[0] = 1# 동전 반복 진행for coin in coins: # 초기값 동전부터 1씩 더해나감 for i in range(coin,k+1): # i번째 동전의 경우 i-coin 한 값을 더해나가야함 동전이 계속 값이 바뀌기 때문에 ..
-
[JavaScript]무인도 여행JavaScript_알고리즘 2024. 9. 3. 14:53
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 접근 방법 3 ≤ maps의 길이 ≤ 100 3 ≤ maps[i]의 길이 ≤ 100 maps[i]는 'X' 또는 1 과 9 사이의 자연수로 이루어진 문자열입니다. 지도는 직사각형 형태입니다.DFS 3. 자바스크립트 코드 function solution(maps) { let answer = []; // 행의 개수 const rowLength = maps[0].length; ..
-
17404. [Python]RGB거리 2Python_알고리즘/Gold IV 2024. 9. 2. 20:35
1. 문제 https://www.acmicpc.net/problem/17404 2. 접근 방법 시간 제한: 0.5초메모리 제한: 128MBDP 3. 파이썬 코드 import sysinput = sys.stdin.readlineN = int(input())houses = []# 최소값 저장 변수result = 10**9# 집 마다 색에 대한 값for _ in range(N): houses.append(list(map(int,input().split())))# 빨, 파, 초 선택하는 범위for i in range(3): # dp 값 각각 0번 집 어느 색을 선택한지에 대한 초기화 dp = [[10**9] * 3 for _ in range(N)] # dp 첫 인덱스 값 갱신 dp[0..
-
6581. [Python]HTMLPython_알고리즘/Gold V 2024. 8. 26. 19:29
1. 문제 https://www.acmicpc.net/problem/6581 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB구현파싱 3. 파이썬 코드 import sysans = []# input으로 들어오는 대로 받기for words in sys.stdin: # 공백 제거하고 구분하여 리스트에 추가 for word in words.strip().split(): ans.append(word)# 정답 출력할 변수answer = ""# 리스트 안을 순회for an in ans: # 개행 태그인 경우 이때까지 저장한 문자 출력 후 초기화 if an == "": print(answer) answer = "" continue ..
-
2866. [Python]문자열 잘라내기Python_알고리즘/Gold V 2024. 8. 19. 18:17
1. 문제 https://www.acmicpc.net/problem/2866 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB정렬 3. 파이썬 코드 import sysinput = sys.stdin.readline# 행, 열 길이R, C = map(int,input().split())# 문자열 받아옴words = [ list(map(str,input().strip())) for _ in range(R) ]# 문자 역순으로 저장new_words = []# 아래서부터 문자열을 저장for j in range(C): ans = "" for i in range(R-1,-1,-1): ans += words[i][j] new_words.append(ans)# 문자열 정렬new_wo..
-
1806. [Python]부분합Python_알고리즘/Gold IV 2024. 8. 19. 17:35
1. 문제 https://www.acmicpc.net/problem/1806 2. 접근 방법 시간 제한: 0.5초메모리 제한: 128MB투 포인터누적합 3. 파이썬 코드 N,S = map(int,input().split())numList = list(map(int,input().split()))left = 0right = 0# 누적합 구하는 변수total = 0# 최소 길이 측정minLength = 10**9# right 값이 끝에 도달할때까지while right = S: # S값보다 작아질때까지 left 값 더해나감 while total >= S: # right - left 길이 체크 check = right - left ..
-
2866. [Python]문자열 잘라내기Python_알고리즘/Gold V 2024. 8. 13. 18:46
1. 문제 https://www.acmicpc.net/problem/2866 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB정렬 3. 파이썬 코드 import sysinput = sys.stdin.readline# 행, 열 길이R, C = map(int,input().split())# 문자열 받아옴words = [ list(map(str,input().strip())) for _ in range(R) ]# 문자 역순으로 저장new_words = []# 아래서부터 문자열을 저장for j in range(C): ans = "" for i in range(R-1,-1,-1): ans += words[i][j] new_words.append(ans)# 문자열 정렬new_wo..
-
[JavaScript] 크기가 작은 부분 문자열JavaScript_알고리즘 2024. 8. 7. 21:36
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 자바스크립트 코드 function solution(t, p) { let answer = 0 let cnt = 0 // p 길이 체크 pLength = p.length // t 길이 - p 길이 까지 반복문 진행 for (let i = 0; i 3. 문제를 풀고난 후 생각 문자열 슬라이싱을 진행하여 문자열을 자른 후 Number 혹은 parseInt로..