백준 4

[백준 2167번] 2차원 배열의 합 python

1. N개의 줄에 M개의 정수로 배열이 주어진 것 해결N, M = map(int, input().split())li = []for _ in range(N) : p = list(map(int, input().split())) li.append(p)이렇게 설정해두면이차원 배열이 잘 생성된다.li2 = []K = int(input())for _ in range(K): sum = 0 i,j,x,y = list(map(int, input().split())) for t in range(i-1,x): for r in range(j-1, y): sum+=li[t][r] li2.append(sum)(i, j) 위치부터 (x, y) 위치까지(행, 열)에 저장된 ..

알고리즘 공부 2024.08.05

[백준 7785번] 회사에 있는 사람 python

dictionary를 사용해 key는 이름, value는 enter/leave로 나타냈다.people = {}for i in range(n): name, state = input().split() people[name] = state-> people = {'Baha': 'leave', 'Askar': 'enter', 'Artem': 'enter'} key 값이 동일한 경우 마지막 value 값으로 지정된다. [구현 코드]n = int(input())people = {}li = []for i in range(n):    name, state = input().split()    people[name] = state# print(people)    for name in people.keys() :..

알고리즘 공부 2024.08.01

[백준 2563번] 색종이 python

1. 처음 아이디어를 생각해내는 게 어려웠다.겹치는 부분들을 어떻게 계산해야 할 지 생각을 하고 있다가넓이가 1이고 한 변의 길이가 1인 정사각형으로 쪼개는 아이디어를 생각해냈다.이차원 배열로graph = [[0]*101 for _ in range(101)]그래프를 생성한 다음,정사각형이 놓인 부분의 사각형들을 쪼개서 모두 넓이를 1로 두고,정사각형이 두 개가 겹치든, 세 개가 겹치든 정사각형 안에 있는 부분이기 때문에 1에서 바뀌지 않게 지정해주었다.(처음에는 두 개가 겹치면 2로, 세 개가 겹치는 부분이면 3으로 바꾸려고 생각했었는데 굳이 그럴필요가 없다는 걸 깨달았다...)2. 처음에 아랫부분의 1의 개수를 구하는 코드를for k in range(1, 100): for l in range(1,..

알고리즘 공부 2024.08.01