본문 바로가기
728x90

CS, 알고리즘/알고리즘 및 코테3

백준 10815번 회고(파이썬) 회고 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 import sys N = int(sys.stdin.readline()) Nlist = [] * N Nlist = list(map(int, sys.stdin.readline().split())) M = int(sys.stdin.readline()) Mlist = [] * M Mlist = list(map(int, sys.stdin.readline().split())) find = [] find = list(set(Mlist) & set(Nlist)) result = [] for i in range(M): for j in range(len(find)): if Mlist[i].. 2023. 6. 30.
백준1181번 문제(파이썬) 1181번 문제(파이썬) 회고 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import sys N = int(sys.stdin.readline()) result = [] Nlist = [sys.stdin.readline().strip() for _ in range(N)] result = list(set(Nlist)) result.sort() result.sort(key=lambda x: len(x)) for i in range(len(result)): print(result[i]) Colored by Color Scripter cs - N 을 입력받는 것에 int(sys.stdin.readline())을 사용한 이유는 시간을 최대한 줄이기 위해서 이다. -list에서 append를 사.. 2023. 6. 27.
[알고리즘] 계수정렬(Counting Sort) .feat 백준 10989번(파이썬) 계수 정렬이란? - 원소들간의 비교를 하지 않고, 숫자의 개수를 파악하여 정렬을 수행하는 알고리즘이다. - 타 정렬들과 다르게 비교하지않아서 시간복잡도는 O(N)이다. - 10989번의 문제는 시간제한이 있어 계수정렬을 이용하여 풀기로 생각하였다! 계수 정렬 수행과정 1. 입력받은 혹은 정렬을 하고 싶은 데이터 리스트에서 최대값 + 1 하여 리스트를 만든다. 2. 최대값 + 1 리스트에 데이터가 몇개가 겹치는지 횟수를 기록한다. 3. 그 횟수를 토대로 인덱스를 출력한다. 아래는 위의 계수 정렬을 파이썬코드로 구현한겁니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import sys input = sys.stdin.readline N = int(.. 2023. 6. 25.
728x90
반응형