일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- chatGPT
- NoSQL
- Markdown
- 마크다운문법
- 인프콘2024
- Algorithm
- mongoDB
- db
- 탐색알고리즘
- 코딩테스트
- 코테
- 수열
- 마크다운
- httpCode
- 소수
- 수학
- database
- 몽고DB
- Python
- 그리디알고리즘
- 데이터
- 그리디
- 알고리즘기초
- 코딩문제
- 데이터베이스
- 백준
- 그래프
- 기초
- 알고리즘
- Today
- Total
목록알고리즘 (34)
Dev_from the Bottom
문제) 숫자 카드 게임 - 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임 1. 숫자가 쓰인 카드들이 N x M 형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 2. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 3. 그다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 4. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. 입력) - 첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수 M이 공백을 기준으로 하여 각각 자연수로 주어진다. (1 ≤ N, M ≤ 100) - 둘..
문제) 피보나치 수 5 - 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. - 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. - n=17일때 까지 피보나치 수를 써보면 다음과 같다. - 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 - n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력) - 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력) - 첫째 줄에 n번째 피보나치 수를 출력한다. 문제 링크) https://www.acmicpc..
문제) 단어의 개수 - 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력) - 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력) - 첫째 줄에 단어의 개수를 출력한다. 문제 링크) https://www.acmicpc.net/problem/1152 Step1) 테스트1 str = 'The Curious Case of Benjamin Button' list = str..
DFS, BFS를 이해하기 위해서는 기본 자료구조인 스택과 큐를 이해해야 하고, 재귀 함수를 알아야 한다. 1. Stack Stack는 박스 쌓기에 비유할 수 있음 선입후출(First In Last Out) or 후입선출(Last In First Out) 파이썬에서 스택을 이용할 때에는 별도의 라이브러리를 사용할 필요가 없음 기본 리스트에서 append()와 pop() 메서드를 이용하면 스택 자료구조와 동일하게 동작 append()메서드는 리스트의 가장 뒤쪽에 데이터를 삽입하고, pop() 메서드는 리스트의 가장 뒤쪽에서 데이터를 꺼냄 stack = [] stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.ap..