본문 바로가기

나동빈 with 파이썬21

[Ch.6 - 정렬] 성적이 낮은 순서로 학생 출력하기 My code n = int(input()) array = [] for i in range(n): student = input().split() array.append((student[0], int(student[1]))) array = sorted(array, key = lambda x: x[1]) for i in array: print(i[0], end=' ') Code Review 이번 문제는 학생 이름, 성적을 입력 받아 성적이 낮은 순으로 정렬하여 해당 학생의 이름을 출력하는 것이었습니다. 먼저 학생 이름과 성적 정보를 입력 받아 리스트에 넣어주었습니다. sorted 함수를 이용하여 입력 받은 정보들을 정렬해주었는데, 이때 key 값 즉 정렬의 기준이 되는 값을 입력 받은 값 중 성적이 기준으로.. 2022. 2. 13.
[Ch.6 - 정렬] 위에서 아래로 My code n = int(input()) array = [] for i in range(n): array.append(int(input())) array = sorted(array, reverse = True) for i in array: print(i, end=' ') Code Review 이번 문제는 숫자를 입력 받아 내림차순으로 정렬하여 출력하는 문제였습니다. 입력 받은 숫자를 리스트에 넣어주었고 해당 리스트 array 를 sorted 함수를 이용하여 정렬해주었습니다. 오름차순으로 정렬하기 위해 reverse = True 를 사용해주었습니다. 2022. 2. 13.
[Ch.5 - DFS/BFS] 미로 탈출 My code from collections import deque n,m = map(int,input().split()) miro = [] for i in range(n): miro.append(list(map(int,input().split()))) dx = [-1,1,0,0] dy = [0,0,-1,1] def bfs(x,y): queue = deque() queue.append((x,y)) while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx = n or ny = m: continue if miro[nx][ny] == 0: continue if miro[nx][ny] == 1: miro[n.. 2022. 2. 11.
[Ch.5 - DFS/BFS] 음료수 얼려 먹기 My code n,m = map(int,input().split()) went = [[0] * m for _ in range(n)] ice = [] for i in range(n): ice.append(list(map(int,input().split()))) def dfs(x,y): if x = n or y = m: return False if ice[x][y] == 0 and went[x][y] == 0: went[x][y] = 1 dfs(x-1,y) dfs(x,y-1) dfs(x+1,y) dfs(x,y+1) return True return False result = 0 for i in range(n): for j in range(m): if dfs(i,j) == True: result += 1 pr.. 2022. 2. 10.