일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- 자료구조
- BASIC
- 그리디 알고리즘
- 스택
- 파이썬
- web
- 프로그래머스스쿨
- JavaScript
- 구현
- 프로그래머스
- CSS
- BFS
- 문자열
- 다이나믹 프로그래밍
- 알고리즘
- 브루트포스 알고리즘
- level2
- programmers
- DFS
- 백준
- 그래프 이론
- 정렬
- DP
- 딕셔너리
- 그래프이론
- 너비 우선 탐색
- lv2
- 웹 프론트엔드
- 그래프 탐색
- Today
- Total
목록정렬 (4)
DevLog:-)

문제 코드 n = int(input()) books = {} for _ in range(n): book = input() if book not in books: books[book] = 1 else: books[book] += 1 M = max(books.values()) arr = [] for book, n in books.items(): if M==n: arr.append(book) arr.sort() print(arr[0]) 코멘트 딕셔너리를 사용해서 풀었다. key : 책 이름, value : 팔린 개수 max를 이용해서 가장 많이 팔린 수를 찾고 해당하는 책 이름을 배열로 저장한 후 오름차순 정렬 첫번째 책이름을 출력했다.

문제 코드 import sys arr = sys.stdin.readline().strip() A = "z"*len(arr) for i in range(1,len(arr)-1): for j in range(i+1,len(arr)): a = arr[:i][::-1] b = arr[i:j][::-1] c = arr[j:][::-1] B =a+b+c if(A>B):A=B #A =min(A,B) print(A) 발생한 오류 제출 후 발생한 오류는 range의 범위로 인한 오류였다. range(0, len(arr)-1)로 두었고 반복문이 0부터 시작하니까 첫 번째 문자를 고려하지 않는 오류가 발생했다. 따라서 range(1,len(arr)-1)로 변경하였다.

문제 코드 1.이분탐색을 이용한 코드 import sys import sys n = int(input()) a = list(map(int,sys.stdin.readline().split())) m = int(input()) b = list(map(int,sys.stdin.readline().split())) a.sort() for i in b: s = 0 e = n-1 f = 0 while(s목표값) -> (end = 중심값-1) 변경 4.찾으면 1을, 못찾고 while문이 끝나면 0을출력한다. (while문의 종료조건은 start>end일 때이다.) 2.딕셔너리를 이용한 코드 import sys n = int(input()) a = list(map(int,sys.stdin.readline().split..

문제 코드 import sys n =int(sys.stdin.readline()) s=[0]*10001 for _ in range(n): s[int(sys.stdin.readline())] +=1 for i in range(10001): if(s[i]!=0): for j in range(s[i]): print(i) 코멘트 단순한 문제여서 금방 풀 수 있을 거라고 생각했는데 메모리 초과로 인해 코드 제출을 생각보다 많이 한 문제입니다. 공간 복잡도를 줄이는 것이 문제의 핵심입니다. #메모리 초과 코드 import sys n =int(sys.stdin.readline()) s=[] for i in range(n): s.append(int(sys.stdin.readline())) s.sort() for i i..