📚 문제 입력 출력 예제 입력 3 Betty Boolean Alison Addaway Carrie Carryon 1 B 2 A 3 B 3 A 1 A 2 Helen Clark Margaret Thatcher 1 B 2 B 2 A 0예제 출력 1 Alison Addaway 2 Helen Clark🧑🏻💻 풀이 과정 학생 수 n만큼 이름을 입력 받자. 귀걸이를 돌려받은 학생을 파악하기 위해 ring_names를 만들어 인덱스 + 1(a)을 key로 입력 받아 1로 초기화하자. ring_names에 중복되는 key가 나오면 +1를 해서 2로 만들어두자. (ring_names[a] = ring_names.get(a, 0) + 1) 귀걸이를 돌려받지 못한 학생은 value가 1일 것이므로, ring_names를 반..
📚 문제 제한 사항 scoville의 길이는 2 이상 1,000,000 이하입니다. K는 0 이상 1,000,000,000 이하입니다. scoville의 원소는 각각 0 이상 1,000,000 이하입니다. 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1을 return 합니다. 입력 예시 [1, 2, 3, 9, 10, 12], 7출력 예시 2🧑🏻💻 풀이 과정 heapq를 사용해야한다. (이진 트리(binary tree) 기반의 최소 힙 자료구조) heapq에서 가장 작은 값이 K와 같거나, 클 동안 반복하자. 입력받은 scoville을 내림차순 정렬 후, heapify()를 이용하여 리스트를 힙으로 변환하자. heappop()은 힙에서 가장 작은 원소를 삭제 후, 그 값을 리턴해준다...
📚 문제 제한 사항 1 ≤ s의 길이 ≤ 50 s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다. return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다. 입력 예시 1 "one4seveneight" 출력 예시 1 1478 입력 예시 2 "23four5six7" 출력 예시 2 234567 입력 예시 3 "2three45sixseven" 출력 예시 3 234567 입력 예시 4 "123" 출력 예시 4 123 🧑🏻💻 풀이 과정 인덱스의 숫자와 일치하는 문자 배열(alphabets)을 만들자. ('zero'(0), 'one'(1), 'two'(2)...) enumerate를 이용해서 문자 배열의 인덱스와 문자를 반복하며 꺼내오자. 입력받은 s..
📚 문제 제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입력 예시 1 "abcde"출력 예시 1 "c"입력 예시 2 "qwer"출력 예시 2 "we"🧑🏻💻 풀이 과정 입력받은 s의 길이를 구하고 반으로 나눈다. 홀수라면 s[mid]를 반환하고, 짝수라면 s[mid-1]과 s[mid-1]를 반환하자. 예: 길이가 5라면 01234, 길이가 6이라면 012345이므로 -1을 포함해야한다. def solution(s): mid = len(s) // 2 if len(s) % 2 == 1: return s[mid] else: return s[mid-1] + s[mid] # 테스트를 위한 코드입니다. s = "abcde" print(solution(s)) s = "qwer" print(solutio..
📚 문제 입력 첫 번째 줄에는 총 게임 횟수 N과 해킹을 통해 얻은 플레이어 정보의 수 P가 주어진다. (N과 P는 1,000이하의 자연수) 그리고 두 번째 줄에는 이긴 경우 획득 점수 W와 졌을 때 떨어지는 점수 L, 그리고 IRON 티어에서 벗어나기 위한 점수 G가 주어진다. (0 ≤ W, L ≤ 100, 1 ≤ G ≤ 100,000, 이 때, W, L, G는 정수) 그리고 다음 P개의 줄에는 플레이어의 이름과 무조건 이길 수 있는 경우 W, 무조건 지는 경우 L이라는 단어가 플레이어 이름과 쌍으로 나온다. 그리고 그 다음 N개의 줄에는 같이 게임을 하는 플레이어의 이름이 나온다. 플레이어 이름은 반드시 대문자로 나오며 길이는 20이 넘지 않는다. 출력 0점부터 시작하였을 때 형동이가 아이언 티어에서..
📚 문제 입력 첫 번째 줄에는 테스트케이스의 개수 T(T ≤ 25)가 입력된다. 각 테스트케이스는 한 줄에 2개의 문자열 s와 p가 공백으로 구분되어 입력되며 한신이는 p를 복사하여 s를 만들어 내는 것을 목표로 한다. s의 최대 길이는 10,000이고, p의 최대 길이는 100이다. 출력 각 테스트 케이스에 맞는 한신이가 p를 이용하여 s를 타이핑할 때 걸리는 최소 시간(초 단위)을 출력하라! 입력 예시 1 2 banana bana asakusa sa출력 예시 1 3 5🧑🏻💻 풀이 과정 count함수를 이용하여, 주어진 문자열(s)에 해당하는 문자(word)의 개수(cnt)를 얻어내자. 문자열에서 문자를 지우고 남은 문자의 개수(replaced_s)와 cnt를 합치자. n = int(input()) ..
📚 문제 입력 첫 번째 줄에 과일의 개수 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..
📚 문제 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입력 예시 1 [4,3,2,1]출력 예시 1 [4,3,2]입력 예시 2 [10]출력 예시 2 [-1]🧑🏻💻 풀이 과정 배열의 첫 번째 값을 변수(min_val)에 저장해두고, 반복하면서 가장 작은 수를 찾아 remove하자 def solution(arr): min_val = arr[0] for i in range(1, len(arr)): if min_val > arr[i]: min_val = arr[i] arr.remove(min_val) return [-1] if len(arr) < 1 else arr # 테스트를 위한 코드입니다. print(solution([4, 3,..
📚 문제 입력 첫째 줄에 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,..
- Total
- Today
- Yesterday
- 노마드
- 자료구조
- webflux
- 정렬
- 리팩토링
- kotlin
- 파이썬
- 스프링부트
- 문자열
- 알고리즘
- 구현
- 데이터베이스
- 인프런
- MySQL
- 스프링 부트
- Spring
- spring boot
- Algorithm
- 그리디
- leetcode
- 코테
- mysql 8.0
- 김영한
- Real MySQL
- 스프링
- 노마드코더
- 북클럽
- 릿코드
- 코틀린
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |