일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- 딕셔너리
- KT에이블스쿨
- Level2
- Level3
- 골드
- AI트랙
- Java
- KT 에이블스쿨
- dfs
- BFS
- 패스트캠퍼스
- 트리
- 정렬
- 프로그래머스
- 백준
- join
- 그래프
- 파이썬
- AIVLE
- Level1
- sql
- 구현
- 실버
- dp
- 티스토리챌린지
- kt에이블스쿨5기
- spring
- 알고리즘
- 오블완
- Today
- Total
목록정렬 (22)
rose_brown

1. 문제https://www.acmicpc.net/problem/16236 2. 코드python 1import sysfrom collections import dequeinput = sys.stdin.readlinen = int(input())graph = []for _ in range(n): li = list(map(int, input().split())) graph.append(li)dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]for i in range(n): for j in range(n): if graph[i][j] == 9: shark_x, shark_y = i, j graph[i][j] = 0def bfs..

1. 문제https://www.acmicpc.net/problem/1202 2. 코드python 1import sysimport heapqinput = sys.stdin.readlinen, k = map(int, input().split())jewels = []bags = []for _ in range(n): m, v = map(int, input().split()) jewels.append((m,v))for _ in range(k): cnt = int(input()) bags.append(cnt)jewels.sort()bags.sort()heap = []i = 0answer = 0for bag in bags: while i 풀이보석(jewels)은 무게 기준 오름차순, 가방(..

1. 문제https://www.acmicpc.net/problem/11000 2. 코드python 1import sysimport heapqinput = sys.stdin.readlinetime = []heap = []N = int(input())for _ in range(N): time.append(list(map(int, input().split())))time.sort(key = lambda x : (x[0], x[1]))for start, end in time: if heap and heap[0] 풀이강의 개수 N과 각 강의의 시작 시간, 종료 시간을 입력받음강의들을 시작 시간이 빠른 순으로 정렬우선순위 큐(min-heap) 를 만들어, 각 강의의 종료 시간을 저장모든 강의에 대해:현재..

1. 문제https://www.acmicpc.net/problem/20920 2. 코드python 1import sysfrom collections import defaultdictinput = sys.stdin.readlineN, M = map(int, input().split())word_list = defaultdict(int)for n in range(N): word = input().strip() if len(word) >= M: word_list[word] += 1answer = sorted(word_list.items(), key=lambda x:(-x[1],-len(x[0]),x[0]))for key, item in answer: print(key)풀이N - ..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/72411 2. 코드python 1from collections import Counterfrom itertools import combinations def solution(orders, course): answer = [] for i in course: all_combs = [] for order in orders: combs = combinations(sorted(order), i) all_combs.extend(combs) counter = Counter(all_combs) if coun..

1. 문제https://www.acmicpc.net/problem/10816 2. 코드python 1import sysinput = sys.stdin.readlinen=int(input())N=sorted(map(int,input().split()))m=int(input())M=map(int,input().split())def binary(l,N,start,end): if start>end: return 0 m = (start+end)//2 count=0 if l==N[m]: return N[start:end+1].count(l) elif l풀이이분탐색을 위해 리스트 N 정렬중간값이랑 비교n ! = 중간요소인 경우 → 탐색범위를 절반으로..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42579 2. 코드pythondef solution(genres, plays): answer = [] info = {} gens = {} for idx, (gen, play) in enumerate(zip(genres, plays)): if gen not in info: info[gen] = [(idx, play)] else: info[gen].append((idx, play)) gens[gen] = gens.get(gen, 0) + play for (gen, _) in so..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42577 2. 코드python 1def solution(phone_book): phone_book.sort() for p1, p2 in zip(phone_book,phone_book[1:]): if p2.startswith(p1): return False return True풀이phone_book 정렬 → 같은 단어를 사용했다면 더 가까워짐phone_book, phone_book[1:] zip을 통해 묶음ex) zip값은 → [('119', '1195524421'), ('1195524421', '97674223')]startswith를 ..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42576 2. 코드python 1def solution(participant, completion): participant.sort() completion.sort() for i in range (len(completion)): if participant[i] != completion[i]: return participant[i] return participant[-1]풀이참가자,완주자 명단 정렬참가자와 완주자 명단에 없으면 출력발견하지 못하면 마지막요소를 리턴 python 2def solution(participant, completio..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42746 2. 코드python 1def solution(numbers): answer = list(map(str,numbers)) answer.sort(key=lambda x:x*3, reverse=True) return str(int(''.join(answer)))풀이int형에서 sort하면 값의 순서대로 정렬됨 → str형으로 바꿔서 가장 앞에 숫자의 크기로 정렬(DESC순)해야함str형으로 numbers를 변환DESC순으로 정렬 → 이때 0~1000까지 숫자이니 현재 값 * 3하여 비교 정렬ex) 30 과 3을 비교할때 303030 vs 333을 비교한다면 첫번째 항목은..