본문 바로가기
  • Seizure But Okay Developer

Algorithm 개념 및 문제풀이/Baekjoon4

백준 문제풀이 - 10815 개요 백준 문제 푼 내용에 대해 정리합니다. 내용 N개의 숫자와 M개의 숫자가 주어질 때, M 숫자들에 N 숫자들이 포함되어 있는지 여부를 1 또는 0으로 표현하면 되는 문제. N, M의 숫자들을 int 배열에 각각 저장하였고 이후 M 숫자들을 arr 배열에 저장하였다. for 문을 돌며 arr 배열의 i 번째 원소를 N 숫자를 저장한 배열과 비교해 여부를 체크하였다. 구체적으론 IntStream 의 anyMatch 함수를 사용하였는데, 문제 조건에 의하면 최대 백만 개를 탐색할 수 있고 시간 제한은 2초이므로, for 문안에서 각 원소를 탐색하는 것은 Big O(n^2) 을 만들어내 시간 초과라는 결과를 내었다. public class Main { public static int i = 0; publi.. 2023. 7. 22.
백준 문제풀이 정리 - 24262 문제내용 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # 코드1 } https://www.acmicpc.net/problem/24262 문제설명 MenOfPassion 코드에서 #코드1 을 수행했을 때의 횟수와, 시간복잡도 표현식인 Big O 표기법으로 나타냈을 때의 최고차항을 출력해야 하는 문제이다. 하나의 값을 가져올 때의 횟수는 1번이므로 어떤 값을 넣든 횟수는 1이다... 2023. 6. 29.
백준 문제풀이 정리 - 2798 문제 내용 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어졌을 .. 2023. 6. 21.
C++ 개념 살짝 정리(8958 문제) 문제 URL : https://www.acmicpc.net/problem/8958 1. string 을 char 와 비교하려면 single quote(') 을 사용해야 함. double quote(") 을 사용하면 에러가 발생함.s[i] == 'O' (OK)s[i] == "O" (NO) 2. 연산자 중 전위, 후위 연산자의 우선순위는 += 보다 높다. 3. for 문을 반복할 때 종결조건이 참이면 계속 반복한다.이에 따라 문자열이 str = "OOOOO"; 와 같이 있는데 종결조건을 str[i]과 두어도 마지막 문자('\0') 를 만나기전 까지 5번 반복한다.=> for(int i=0; str[i]; i++) 와 같이 있을 때 각 요소가 참이므로 마지막 문자('\0')를 만나기 전까지 문자열의 길이(5).. 2019. 3. 7.