분류 전체보기
-
[스택] 균형잡힌 세상(4949)(C++)BOJ C++ 알고리즘 공부 2022. 6. 28. 14:18
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 1. 문제 개요 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")..
-
[집합] 문자열집합(14425)(C++)BOJ C++ 알고리즘 공부 2022. 6. 27. 16:53
https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 1. 문제 개요 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 2. 입출력 3. 문제 풀이 벡터를 이용해서 풀려고 했다가 시간초과가 떠서 실패하고 set을 사용했더니 통과했다. 앞으로 유니크한 원소를 저장하고 집합 안의 원소가 존재하는지 확인하는 코..
-
핸즈온 머신러닝[5] 서포트 벡터 머신(1)핸즈온머신러닝 2022. 6. 22. 21:59
https://www.youtube.com/watch?v=dP-cDdP_Y3A&list=PLJN246lAkhQjX3LOdLVnfdFaCbGouEBeb&index=16 선형 SVM 분류 라지 마진 분류 from sklearn.svm import SVC from sklearn import datasets iris = datasets.load_iris() X = iris["data"][:, (2, 3)] # 꽃잎 길이, 꽃잎 너비 y = iris["target"] setosa_or_versicolor = (y == 0) | (y == 1) X = X[setosa_or_versicolor] y = y[setosa_or_versicolor] # SVM 분류 모델 svm_clf = SVC(kernel="linear..
-
[그래프] 항체 인식(22352)(C++)BOJ C++ 알고리즘 공부 2022. 6. 18. 15:21
https://www.acmicpc.net/problem/22352 22352번: 항체 인식 첫 번째 줄에는 SP 촬영 결과의 크기를 의미하는 두 정수 $N$과 $M$이 주어진다. ($1 \le N, M \le 30$) 이는 촬영 결과가 세로로 $N$칸, 가로로 $M$칸 크기의 격자라는 것을 의미한다. 다음 $N$개의 줄에는 www.acmicpc.net 1. 문제 개요 조직에 CPCU-1202 백신을 놓으면, 격자의 칸 중 하나에 항체가 생성된다. 이 항체는 현재 속해 있는 칸과 같은 데이터 값을 가지면서 상하좌우로 인접한 칸이 있을 경우 그 칸으로 퍼져나간다. 이 과정을 계속 반복하다가 항체가 더 이상 퍼져나갈 수 없게 되면, 항체는 조직에 완전히 스며든다. 그 결과로, 항체가 퍼졌던 칸들의 데이터 값..
-
[수학] 헤이카카오(22353)(C++)BOJ C++ 알고리즘 공부 2022. 6. 18. 00:21
https://www.acmicpc.net/problem/22353 22353번: 헤이카카오 첫 번째 줄에는 세 개의 정수 $a, d, k$가 공백으로 구분되어 주어진다. $(1 \leq a, d, k \leq 100)$ 이는 끝말잇기 한 판에 $a$분이 걸리며 집중을 시작한 이하가 처음에 끝말잇기에서 이길 확률이 $d$%이 www.acmicpc.net 1. 문제 개요 이하는 헤이카카오를 상대로 끝말잇기를 가볍게 여러 판 플레이하고 통계를 냈다. 그 결과 끝말잇기를 한 판 하는 데에는 a분이 걸리며, 현재 자신이 이길 확률은 d%라는 사실을 알게 되었다. 이하는 자신의 승률에 실망하고 이제 집중해서 플레이를 하기로 했다. 이하가 집중하면 끝말잇기에서 패배할 때마다 경험이 쌓여 이길 확률이 이전에 비해 k..
-
[수학] 수학은 체육과목 입니다 3(22351)(C++)BOJ C++ 알고리즘 공부 2022. 6. 17. 23:08
https://www.acmicpc.net/problem/22351 22351번: 수학은 체육과목 입니다 3 이환이의 선생님이 부른 두 정수 $A$와 $B$를 공백으로 구분하여 출력하라. 만약 가능한 답이 두 가지 이상이라면, 그중 $A$가 가장 작은 것을 출력하라. 이환이는 항상 정확한 답을 쓰기 때문에, www.acmicpc.net 1. 문제 개요 차례로 1씩 증가하는 숫자들의 나열이 주어졌을 때, 시작 수와 끝 수를 찾는 문제. 예를 들어, 99100101의 경우 정답은 99, 100이 된다. 2. 입출력 3. 문제 풀이 처음엔 문자열에서 서브스트링을 뽑아내며 증가하는 추세가 있다면 통과하도록 했다. 하지만 좋은 생각이 아니었다... 생각을 바꾸어 이중 루프에서 모든 경우의 수를 차례로 탐색해가며 ..
-
[그리디] 과제(13904)(C++)BOJ C++ 알고리즘 공부 2022. 6. 16. 13:30
https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 1. 문제 개요 웅찬이는 과제가 많다. 하루에 한 과제를 끝낼 수 있는데, 과제마다 마감일이 있으므로 모든 과제를 끝내지 못할 수도 있다. 과제마다 끝냈을 때 얻을 수 있는 점수가 있는데, 마감일이 지난 과제는 점수를 받을 수 없다. 웅찬이는 가장 점수를 많이 받을 수 있도록 과제를 수행하고 싶다. 웅찬이를 도와 얻을 수 있는 점수의 최댓값을 구하시오. 2. 입출력 3. 문제 풀이 입력값을 과제의 배점이 높은 순으로 정렬하고 배점이 같다면 ..
-
[그리디] 카드 합체 놀이(15903)(C++)BOJ C++ 알고리즘 공부 2022. 6. 15. 20:18
https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 1. 문제 개요 석환이는 자연수가 쓰여진 카드를 n장 갖고 있다. 처음에 i번 카드엔 ai가 쓰여있다. 카드 합체 놀이는 이 카드들을 합체하며 노는 놀이이다. 카드 합체는 다음과 같은 과정으로 이루어진다. x번 카드와 y번 카드를 골라 그 두 장에 쓰여진 수를 더한 값을 계산한다. (x ≠ y) 계산한 값을 x번 카드와 y번 카드 두 장 모두에 덮어 쓴다. 이..