•알고리즘(Algorithm )/문제풀이
![[백준2583&파이썬] 좌표평면을 배열로 표현하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmJIIa%2Fbtr8lNZTXh2%2FeKb5DA26WGhx2DWk2jwWH0%2Fimg.png)
[백준2583&파이썬] 좌표평면을 배열로 표현하는 방법
# 문제 백준2583 영역구하기 파이썬 풀이 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net # 코드 import sys from collections import deque M,N,K = map(int, sys.stdin.readline().split()) # M 행 , N 열 board = [ [False] * N for i in range(M)] def printBoard() : for i in range(M) : print(board[i]) dirs = [ (-1,0),(0,1),(..
[백준7562&파이썬] BFS를 활용하여 최단거리에 도달하는 방법
# 문제 백준 7562 나이트의 이동 파이썬 풀이 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net # 코드 import sys from collections import deque tc = int(sys.stdin.readline()) dirs = [ (-2,1), (-1,2),(1,2),(2,1),(2,-1),(1,-2),(-1,-2),(-2,-1) ] def solve() : l = int(sys.stdin.readline()) # 체스판의 한변의 길이 l * l visit = [ [False] * l fo..
[백준4179&파이썬] 불!/BFS를 이용해 조건에 맞는 최단거리를 구하는 방법
# 문제 백준 4179 불! 파이썬 풀이 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net # 코드 import sys from collections import deque R,C = map(int, sys.stdin.readline().split()) board = list() visit = [ [False for j in range(C) ] for i in range(R) ] j_flag = True f_starting = list() j_pos = [-1,-1] for i in range(..
[백준1926&파이썬] BFS를 활용하여, 연결된 노드의 너비를 세는 방법
# 문제 백준 1926번 그림, 파이썬 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net # 코드 import sys from collections import deque n,m = map(int,sys.stdin.readline().split()) # n 세로크기 , m 가로크기 board = list() visit = [[ False for j in range(m) ] for i in range(n)] for i in range(n) : row = list(map(int,sys.stdin.readline().sp..
![[백준-1236] 성지키기 파이썬 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnf2dC%2FbtrJcEN2nVX%2F3FEqKGWkPfsX7DLL1yozh1%2Fimg.png)
[백준-1236] 성지키기 파이썬 풀이
# 문제 # 풀이 각 행과 열에는 하나 이상의 경비원이 존재해야 한다. 일단 행 검사를 통해 경비원의 유무를 파악하고 변수를 만들어 담고, 열 검사를 통해 해 당열을 지키는 경비원이 있는지 파악한다. 행,열중 최대값을 출력하면 된다. 그리고 굳이 이중 배열을 사용하지 않고 배열에 문자열을 담고 배열에 접근한 인덱스로 알아낸 문자열의 인덱스로 접근할 수 있다. # 코드 import sys def solve(): row,col = map(int,sys.stdin.readline().strip().split()) castle = [] for i in range(row): castle.append(sys.stdin.readline().strip()) plus_row = 0 for i in range(row): ..
![[백준-1302] 베스트 셀러 파이썬 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0t1Ik%2FbtrJiktxci8%2FEXqqVkNtviNPFpHuqjlNbK%2Fimg.png)
[백준-1302] 베스트 셀러 파이썬 풀이
# 문제 # 풀이 문제는 매우 간단하다. 파이썬의 딕셔너리를 이용한다면 쉽게 풀 수 있다. 하지만 동일한 순위의 책이 존재한다면 사전순(오름차순)에서 가장 앞에 있는 책을 선택해야하는데 이 것을 처리하기 위해서 막혔었다. temp = sorted(dic.items()) temp = dict(temp) print(max(temp,key=lambda x: dic[x])) 위와 같이 사용하면 된다. dic.items()를 반환하면 (key, value)형태의 튜플이 나오게 되는데, 이것을 정렬 시켜준 후 다시 dict로 바꾸면 된다. # 코드 import sys # sorted를 사용해서 key를 사전순으로 정렬 후 # 다시 dict로 타입변경 후 max를 수행 def solve(): N = int(sys.s..