본문 바로가기

백준 - 파이썬/단계별 - 7 (2차원 배열)4

[백준/파이썬] 2563번 색종이 도화지는 100*100 크기이므로 우선 이만큼 도화지를 0으로 초기화 시켜서 그린다.이후 입력받은 부분의 색종이 만큼만 1을 채워 이 부분의 넓이를 구한다. # 색종이n = int(input())# 도화지 초기화 (100*100)papers = [[0]*100 for _ in range(100)]# 색종이만큼 도화지 1로 색칠하기for i in range(n): x, y = map(int, input().split()) for i in range(x, x+10): for j in range(y, y+10): papers[i][j] = 1# 리스트 요소 다 더해서 1의 개수 세기cnt = 0for i in papers: cnt += sum(i)print(cnt) 2025. 5. 10.
*[백준/파이썬] 10798번 세로읽기 [비효율적 코드]# 세로읽기words = []max_column = 0 # 가장 긴 행의 열 개수, 즉 "최대 열 길이"를 저장하는 변수for _ in range(5): tmp = list(input()) words.append(tmp) if len(tmp) > max_column: max_column = len(tmp)# 파이썬에서는 리스트가 비어있으면 False, 비어있지않으면 Truefor i in range(max_column): # 열 for j in range(5): # 행 # 열(i)보다 현재 행(j)의 길이가 작을만 출력 if i 가장 애먹었던 부분은 i 훨씬 더 간단한 코드로 바꿀 수 있다. words = [input() f.. 2025. 5. 10.
[백준/파이썬] 2566번 최댓값 [틀린 코드]# 최댓값matrix = []for _ in range(9): a = list(map(int, input().split())) matrix.append(a)# 최댓값과 인덱스 출력max_value = matrix[0][0]max_index = [0, 0]for i in range(9): for j in range(9): if max_value 틀린 이유 : 이 문제는 숨은 채점 기준이 있다. 최댓값이 중복된다면 마지막에 나온 값을 기준으로 인덱스를 출력해야 맞을 수 있는 문제이다.if max_value 따라서 여기서 [최종코드]# 최댓값matrix = []for _ in range(3): a = list(map(int, input().split())) .. 2025. 5. 9.
[백준/파이썬] 2738번 행렬 덧셈 # 행렬 덧셈n, m = map(int, input().split())A, B = [], []for i in range(n): tmp = list(map(int, input().split())) A.append(tmp)for i in range(n): tmp = list(map(int, input().split())) B.append(tmp)for i in range(n): # n개의 행 for j in range(m): # n행에 있는 m개의 요소 각각 더하기 result = A[i][j] + B[i][j] print(result, end=' ') print() [핵심코드]for i in range(n): # n개의 행 for j in ra.. 2025. 5. 9.