본문 바로가기
728x90

백준알고리즘27

[백준] 1181 단어 정렬 python 알고리즘 문제 문제 1181. 단어 정렬 1. 나의 코드와 발상 과정 n = int(input()) word_list = [] for i in range(n): word_list.append(str(input())) word_list = list(set(word_list)) ## attribute error word_list.sort() word_list.sort(key = lambda x : len(x)) for word in word_list: print(word) 잘 돌아가는 코드이다. word_list를 만들어서 그 안에 입력값들을 저장하고, set() 즉, 집합을 활용해서 중복 원소들을 털어내버리고, sort()로 알파벳 순 정렬을 한 다음에, 문자열 길이를 기준으로 해서 또 정렬을 해준다. 그런 다음 프린트.. 2022. 4. 24.
[백준] 10814 나이순 정렬 python 알고리즘 문제 10814. 나이순 정렬 1. 나의 코드와 발상 과정 # 정답 (4092ms) n = int(input()) member_list = [] for i in range(n): member_list.append(list(input().split())) member_list.sort(key = lambda x: int(x[0])) for i in range(n): print(member_list[i][0], member_list[i][1]) # 런타임 에러(IndexError) n = int(input()) member_list = {} for i in range(n): age, name = list(map(str, input().split())) member_list[name] = int(age) s1.. 2022. 4. 24.
[백준] 1018 체스판 다시 칠하기 python 알고리즘 문제 문제 1018. 체스판 다시 칠하기 1. 나의 코드와 발상 과정 n, m = map(int, input().split()) board_list = [] for i in range(n): board_list.append(input()) # 연산(보드판을 일부 잘라 체크무늬로 칠해져 있는지 확인) test_list = [] for i in range(n - 7): # 찾을 출발점 for j in range(m - 7): first_W = 0 first_B = 0 for k in range(i, i + 8): for l in range(j, j + 8): if (k + l) % 2 == 0: if board_list[k][l] != 'W': first_W += 1 if board_list[k][l] != 'B.. 2022. 4. 22.
[백준] 7568 덩치 python 알고리즘 문제 문제 7568. 덩치 1. 나의 코드와 발상 과정 import sys n = int(sys.stdin.readline()) num_list = [] for i in range(n): x, y = map(int, sys.stdin.readline().split()) num_list.append([x, y]) def dungchi(x, y): k = 0 for i in range(n): if x < num_list[i][0] and y < num_list[i][1]: k += 1 return k rank_list = [] for i in range(n): rank_list.append(dungchi(num_list[i][0], num_list[i][1])) for i in range(n): print(ran.. 2022. 4. 20.
[백준] 11650 좌표 정렬하기 python 알고리즘 문제 문제 11650. 좌표 정렬하기 1. 나의 코드와 발상 과정 import sys n = int(sys.stdin.readline()) num_list = [] for i in range(n): m = list(map(int, sys.stdin.readline().split())) num_list.append(m) num_list.sort() for i in range(n): print(num_list[i][0], num_list[i][1]) ###################### #오답 import sys n = int(sys.stdin.readline()) num_list = [] for i in range(n): m = list(map(int, sys.stdin.readline().split())).. 2022. 4. 20.
[백준] 10989 수 정렬하기 python 알고리즘 문제 문제 10989. 수 정렬하기 3 1. 나의 코드와 발상 과정 import sys n = int(sys.stdin.readline()) num_list = [0]*10001 for i in range(n): num = int(sys.stdin.readline()) num_list[num] += 1 for i in range(10001): if num_list[i] != 0: for j in range(num_list[i]): print(i) 굉장히 제한된 시간과 메모리이기 때문에 리스트를 하나 더 생성해서 정렬을 한다던지 하는 방법이 활용될 수 없다. 그래서 10000까지 나오는 자연수이기 때문에 인덱스를 10000까지 가지는 빈 리스트를 만들어서 연속으로 입력되는 num값을 num_list의 인덱스로 .. 2022. 4. 20.
728x90