📚 문제 입력 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. 출력 첫 번째 줄에 스네이크버드의 최대 길이를 출력합니다. 입력 예시 1 3 10 10 11 13출력 예시 1 12입력 예시 2 9 1 9 5 8 1 3 2 7 6 4출력 예시 2 10🧑🏻💻 풀이 과정 과일의 높이를 오름차순 정렬하자 정렬된 과일의 높이가 주어진 길이보다 작거나 같다면 길이를 1 증가 시켜주자 N, L = map(int, input().split()) H = list(map(int, input().split())) H.sort() fo..
📚 문제 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 입력 예시 1 5 1 1 1 6 0 2 7 8 3 1출력 예시 1 18입력 예시 2 3 1 1 3 10 30 20출력 예시 2 80입력 예시 3 9 5 15 100 31 39 0 0 3 26 11 12 13 2 3 4 5 9 1출력 예시 3 528🧑🏻💻 풀이 과정 A 배열은 오름차순 정렬, B 배열은 내림차순으로 정렬해서 작은값 * 큰값 순으로 계산하자. N = int(input()) A = list(map(int,..
📚 문제 입력 첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. 문서와 단어는 알파벳 소문자와 공백으로 이루어져 있다. 출력 첫째 줄에 중복되지 않게 최대 몇 번 등장하는지 출력한다. 입력 예시 1 ababababa aba 출력 예시 1 2 입력 예시 2 a a a a a a a 출력 예시 2 2 입력 예시 3 ababababa ababa 출력 예시 3 1 입력 예시 4 aaaaaaa aaa 출력 예시 4 3 🧑🏻💻 풀이 과정 주어진 문자열에 target이 되는 문자가 몇 번 반복되는지 구하면 되는 문제이다. count(문자열 내부에서 특정 문자, 또는 문자열이 포함되어 있는지를 카운팅 하여 반환) 함수를 이용하자! s,..
📚 문제 입력 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) 출력 첫째 줄에 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 출력한다. 입력 예시 5 3 1 4 3 2 출력 예시 32 🧑🏻💻 풀이 과정 낮은 순으로 점차 더해야 모든 사람이 돈을 인출하기까지 가장 적은 시간이 나온다. 입력 받은 n의 값을 오름차순 정렬 후, 반복하면서 answer에 계속 더하자. n = int(input()) times = list(map(int, input().split())) times.sort() # 시간이 낮은 순 정렬 answer = 0 for i in range(len(times)): ..
📚 문제 어떠한수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고한다. 단, 두 번째 연산은 N이 K로 나누어떨어질 때만 선택할 수 있다. N에서 1을 뺀다. N을 K로 나눈다. 입력 조건 첫째 줄에 N(2 ~ N ~ 100.000)과 K(2 ~ K ~ 100.000)가 공백으로 구분되며 각각 자연수로 주어진다. 이때 입력으로 주어지는 N은 항상 K보다 크거나 같다. 출력 조건 첫째 줄에 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 횟수의 최솟값을 출력한다. 입력 예시 25 5 출력 예시 2 🧑🏻💻 풀이 과정 n%k의 결과가 0이라면, n을 k로 두 번 나누었을 때 n은 1이 된다. n%k의 결과가 0이 될 때까지 1번 과정을 수행하자. n, k = map..
📚 문제 숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다. 숫자가 쓰인 카드들이 N x M형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 그다음 선택된 행에 포함된 카드들 중, 가장 숫자가 낮은 카드를 뽑아야 한다. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려히여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야한다. 입력 조건 첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수 M이 공백을 기준으로 하여 각각 자연수로 ..
문제 프로그래머스 - 로또의 최고 순위와 최저 순위 코드 def solution(lottos, win_nums): nums = set(win_nums) hit_nums = 0 # 맞춘 로또 번호의 수 for num in lottos: if nums.__contains__(num): hit_nums += 1 min_rank = 7 - hit_nums if 0 < hit_nums else 6 zero_nums = 0 # 지워진 로또 번호의 수 for num in lottos: if num == 0: zero_nums += 1 max_rank = 7 - hit_nums - zero_nums if max_rank == 7 : max_rank = 6 # 맞춘 번호도 없고, 지워진 번호도 없다면 6등 return ..
- Total
- Today
- Yesterday
- 그리디
- 릿코드
- Real MySQL
- 문자열
- 자료구조
- mysql 8.0
- Spring
- 북클럽
- 리팩토링
- 정렬
- 인프런
- 스프링
- 파이썬
- 노마드
- 코틀린
- 스프링부트
- MySQL
- 구현
- 노마드코더
- Algorithm
- leetcode
- 김영한
- webflux
- 백준
- 데이터베이스
- 코테
- spring boot
- 알고리즘
- 스프링 부트
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |