본문 바로가기

👩🏻‍💻 Front-end/👾 Algorithm53

백준 2751 - 정렬 (Python) 코드 import sys n = int(sys.stdin.readline()) num = list() for _ in range(n): num.append(int(sys.stdin.readline().rstrip())) num.sort() # num = sorted(num) for i in num: print(i) .sort() vs sorted() list.sort()는 기존 리스트를 정렬하는 함수 sorted(list)는 기존의 리스트를 그대로 두고, 새 리스트를 반환하는 함수 시간 복잡도: O(N log N) 2022. 5. 20.
백준 2750 - 정렬 알고리즘 (Bubble/Selection/Insertion Sort Algorithm) Bubble Sort 시간복잡도: O(N^2) n = int(input()) numbers = list() for _ in range(n): numbers.append(int(input())) # Bubble Sort for i in range(n): for j in range(n-1): if numbers[j] > numbers[j+1]: numbers[j], numbers[j+1] = numbers[j+1], numbers[j] # for i in range(n): # for j in range(n): # if numbers[i] < numbers[j]: # numbers[i], numbers[j] = numbers[j], numbers[i] for i in numbers: print(i) Selec.. 2022. 5. 19.
백준 1018 - 체스판 다시 칠하기 (Python) 코드 n, m = map(int, input().split()) board = list() for i in range(n): board.append(input()) white_board = """WBWBWBWB BWBWBWBW WBWBWBWB BWBWBWBW WBWBWBWB BWBWBWBW WBWBWBWB BWBWBWBW""".split() black_board = """BWBWBWBW WBWBWBWB BWBWBWBW WBWBWBWB BWBWBWBW WBWBWBWB BWBWBWBW WBWBWBWB""".split() cnt_list = list() for i in range(n-7): for j in range(m-7): white_cnt = 0 for k in range(8): for l in rang.. 2022. 5. 18.
백준 1436 - 영화감독 숌 (Python) 코드 n = int(input()) i = 666 #1 cnt = 0 while(True): if i//10 == 666 or i//100 == 666 or i//1000 == 666 or i//10000 == 666 or i % 1000 == 666 or i//10 % 1000 == 666 or i//100 % 1000 == 666 or i//1000 % 1000 == 666: cnt += 1 #2 if cnt == n: print(i) break #3 i += 1 풀이 #1: 666이 연속으로 들어가는 수의 최소값은 666이므로, i=666부터 반복문을 시작한다. #2: n의 최댓값은 10,000이고, 예제에서 n:500일 때 cnt:166699가 되므로,, 대략적으로 i가 1000000 이내라고 판.. 2022. 5. 17.