구현 17

[소프티어 6255번] 플레이페어 암호

Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai import sysfrom collections import dequeinput = sys.stdin.readline# 플레이페어 암호는 알파벳으로 이루어진 어떤 문자열을 암호화하는 방법# 알파벳으로 이루어진 문자열인 Key가 필요함# 한번에 두 글자 단위로 암호화를 진행# 5x5 크기의 표를 사용, 알파벳 26개를 모두 담기에는 칸이 1개 부족하여 I와 J를 동일하게 생각(편의상 J가 아예 X)area = [['']* 5 for _ in range(5)]alpa = [chr(x) for x in range(ord('A'),ord('Z')+1) if x != ord('J')]alpa_set = set()message = deque(li..

[백준 1388번] 바닥 장식

1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net n, m = map(int,input().split()) area = [list(input()) for _ in range(n)] # 바닥 visited = [[False]*m for _ in range(n)] # 방문(카운팅)여부 answer = 0 for i in range(n): for j in range(m): # 모든 나무의 영역을 방문 if visited[i][j]: # 이미 방문(카운팅)한 나무라면 Pass continue visited[i][j] = Tr..

[백준 17140번] 이차원 배열과 연산

17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net r,c,k = map(int,input().split()) arr = [list(map(int,input().split())) for _ in range(3)] answer = 0 def transpose(arr): return list(zip(*arr)) def calculate_row(index): row = arr[index] temp_dict = dict() sorted_row = [] for i in row: if i == 0: continu..

[백준 20057번] 마법사 상어와 토네이도

20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net n = int(input()) area = [list(map(int,input().split())) for _ in range(n)] dx = [0,1,0,-1] dy = [-1,0,1,0] count = 0 length = 1 direction = 0 answer = 0 x, y = n//2, n//2 def move(x,y,d): global answer total = area[x][y] five_percent = int(tot..

[백준 19236번] 청소년 상어

19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net import copy def find_x_y(fish_number,area): # 물고기의 x,y 좌표를 찾는 함수 for i in range(4): for j in range(4): if area[i][j][0] == fish_number: return i,j def find_shark_loc(area): # 상어의 x,y 좌표를 찾는 함수 for i in range(4): for j in range(4): if area[i][j][0] == ..

[백준 17144번] 미세먼지 안녕!

17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net import sys r, c, t = map(int, sys.stdin.readline().split()) area = [list(map(int, sys.stdin.readline().split())) for _ in range(r)] dx = [-1,1,0,0] dy = [0,0,-1,1] cleaner_list = [] answer = 0 for i in range(r): for j in range(c): if area[i][j] == -1: cleaner_..

[백준 14890번] 경사로

https://www.acmicpc.net/problem/14890 n, l = map(int,input().split()) area = [list(map(int,input().split())) for _ in range(n)] total = 0 def checkLine(line): inclined = [False for _ in range(n)] for i in range(n-1): if line[i] == line[i+1]: # 높이가 같은 경우에는 Pass continue if abs(line[i]-line[i+1]) >= 2: # 낮은 칸과 높은 칸의 높이 차이가 1이 아닌 경우(조건 2) return False if line[i] > line[i+1]: # 내리막길인 경우 target = lin..