문제는 위와 같으며 책을 입력 받아 제목을 키로 하고 해당 책이 팔린 횟수를 값으로 하는 딕셔너리를 생성한 뒤, 먼저 횟수를 기준으로 정렬하고 횟수가 같으면 제목을 사전 순으로 정렬하여 문제를 해결할 수 있습니다. 파이썬 코드는 다음과 같습니다. 여기서는 기본적으로 제공되는 sorted 함수를 이용하여 문제를 해결하였는데 이 방식 말고 먼저 최대 값을 구한 뒤, 딕셔너리에서 값이 최대 값과 같은 키의 리스트를 생성하고 그 리스트를 정렬하는 방식으로도 문제를 해결할 수 있습니다. from sys import stdin n = int(stdin.readline()) books = dict() for _ in range(n): book = stdin.readline().strip() if book in boo..
문제는 위와 같으며 단순하게 새의 숫자가 0이 될때까지 반복하여 자연수를 빼주면 해결할 수 있습니다. 단, 자연수가 남은 수의 새보다 커지는 경우 자연수를 다시 1로 변경해야 합니다. 파이썬 코드는 다음과 같습니다. from sys import stdin birds = int(stdin.readline()) num = 1 time = 0 while birds != 0: if num > birds: num = 1 birds -= num time += 1 num += 1 print(time) 자바 코드는 다음과 같습니다. import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void m..
문제는 위와 같으며 최대 문서의 길이가 2500 이고, 검색하고 싶은 단어의 최대 길이가 50 이므로 처음부터 순서대로 모든 경우를 검색하여 문제를 해결할 수 있습니다. 파이썬 코드는 다음과 같습니다. from sys import stdin string = stdin.readline().strip() search = stdin.readline().strip() count = 0 find_idx = 0 while find_idx = findIdx) { if (string.substring(findIdx, findIdx + word.length()).equals(word)) { count += 1; findIdx += word.length(); } else { findIdx += 1; } } System.o..
문제는 위와 같으며, 주어지는 숫자를 3으로 반복하여 나누면서 나머지를 순서대로 저장하는 방식으로 문제를 해결하였습니다. 파이썬 코드는 다음과 같습니다. def solution(n): answer = "" while n > 0: # n 이 3의 배수인 경우 if n % 3 == 0: answer = str(4) + answer[0:] # 문자열 맨 앞에 4를 추가하고 기존 문자열을 뒤에 추가 n = (n // 3) - 1 else: answer = str(n % 3) + answer[0:] # 문자열 맨 앞에 n 을 3으로 나눈 나머지를 추가하고 기존 문자열을 뒤에 추가 n = n // 3 # n 을 3으로 나눈 몫을 다시 n 에 저장 return answer 자바 코드는 다음과 같습니다. import ..
문제는 위와 같으며 위 문제의 경우 데이터 개수가 최대 5,000,000 개이므로 NlogN 정렬 알고리즘을 통해 겨우 문제를 해결할 수 있습니다. 파이썬 코드는 다음과 같습니다. from sys import stdin n, k = map(int, stdin.readline().split()) nums = list(map(int, stdin.readline().split())) nums.sort() print(nums[k - 1]) 병합 정렬을 직접 구현하여 문제를 푸는 경우는 제출할 때 pypy3 로 하면 좀 더 빠르게 계산되기 때문에 시간초과 에러를 해결할 수 있습니다. from sys import stdin # 병합 정렬 이용 def merge_sort(array): if len(array) == ..
- Total
- Today
- Yesterday
- Baekjoon
- BFS
- CodeCommit
- java
- CodePipeline
- 조합
- 프로그래머스
- ECR
- string
- AWS
- 순열
- CodeDeploy
- ionic
- EC2
- map
- Algorithm
- 에라토스테네스의 체
- Combination
- 수학
- DFS
- search
- programmers
- spring
- permutation
- sort
- 소수
- array
- cloudfront
- SWIFT
- Dynamic Programming
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
