본문 바로가기

알고리즘48

[프로그래머스] 프로그래머스 알고리즘: LV2/87946 - 피로도 문제https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  나의 풀이class Solution { static int n; static int max = Integer.MIN_VALUE; public int solution(int k, int[][] dungeons) { n = dungeons.length; boolean[] visit = new boolean[n + 1]; dfs(0, k, dungeons, visit); retu.. 2024. 11. 22.
[Baekjoon] 백준 알고리즘: 1269 - 대칭 차집합 문제 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 내가 생각했던 풀이과정 1. 집합에 공통 요소가 없기 때문에 리스트 대신 Set 으로 입력받는다. 2. Set의 교집합, 합집합, 차집합, 대칭 차집합 등의 지원해주는 연산자를 통하여 문제를 풀어낸다. 나의 풀이 A, B = map(int, input().split()) A_set = set(map(int, input().split())) B_set = set(map(int, input.. 2021. 11. 23.
[Baekjoon] 백준 알고리즘: 1181 - 단어정렬 문제 https://www.acmicpc.net/problem/1181 내가 생각했던 풀이과정 1. 단순하게 리스트 안에 단어가 있다면, 추가를 하지 않는다. 2. sort() 함수를 통해 알파벳으로 정렬 3. sorted 람다 함수를 통해 길이별로 정렬 나의 풀이 N = int(input()) temp = [] for i in range(N): word = input() if word in temp: continue else: temp.append(word) temp.sort() temp = sorted(temp, key = lambda x: len(x)) for i in temp: print(i) 다른 사람의 풀이 words_num = int(input()) words_list = [] for _ i.. 2021. 11. 14.
[Baekjoon] 백준 알고리즘: 11899 - 괄호 끼워넣기 문제 https://www.acmicpc.net/problem/11899 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net 내가 생각했던 풀이과정 1. 스택을 이용해서 푸는 문제입니다. 2. 괄호가 올바른지 확인을 해야합니다. 1. 여는 괄호가 나오면 스택에 추가 2. 닫는 괄호가 나왔을 경우 2-1) 스택이 비어있으면 올바르지 않은 괄호 쌍 2-2) 스택의 top이 짝이 맞지 않는 괄호일 경우 올바르지 않은 괄호쌍 2-3) 스택의 top이 짝이 맞는 괄호일 경우 pop 3. 모든 과정을 끝낸 후 스택에 괄호가 남아있으면 올바르지 않은 괄호 쌍, 남아 있지 않.. 2021. 6. 19.