SWEA

    [SWEA] #14413. 격자판 칠하기_파이썬

    풀기 전 생각해보기😮 체크 배열의 특징 이용하기 풀이🛫 T = int(input()) for t in range(T): N, M = map(int, input().split()) arr = [list(input()) for _ in range(N)] board = [0, 0, 0, 0] for col in range(N): for row in range(M): if arr[col][row] == '#': if (col+row) % 2 == 0: board[0] += 1 elif (col+row) % 2 == 1: board[1] += 1 elif arr[col][row] == '.': if (col + row) % 2 == 0: board[2] += 1 elif (col + row) % 2 == 1: b..

    [SWEA] #10989. 폭격 작전_파이썬

    풀기 전 생각해보기😮 IM 시험 대비 델타 값 이용해서 방향 탐색 visited 활용해서 계산 중복 방지하기 풀이🛫 # U, R, D, L dcol = [-1, 0, 1, 0] drow = [0, 1, 0, -1] T = int(input()) for t in range(T): N, M = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(N)] visited = [[0] * N for _ in range(N)] kills = 0 for m in range(M): C, R, P = map(int, input().split()) # 폭탄이 떨어진 곳의 피해값 if visited[C][R] == 0: kills +=..

    [SWEA] #4866. 괄호 검사_파이썬

    풀기 전 생각해보기😮 stack 구조 활용하기 풀이🛫 T = int(input()) for t in range(T): text = input() stack = [] for i in text: if i == "{" or i == "(": stack.append(i) elif stack and i == "}" and stack[-1] == "{": stack.pop() elif stack and i == ")" and stack[-1] == "(": stack.pop() elif i == "}" or i == ")": stack.append(i) if stack: # stack의 길이가 0이 아님 : 오답 answer = 0 else: # stack의 길이가 0 : 정답 answer = 1 print(f"#..

    [SWEA] #1216. 회문 2_파이썬

    풀기 전 생각해보기😮 유사문제 : 2022.08.16 - [SSAFY/SWEA] - [SWEA] #4861. 회문_파이썬 팰린드롬 구현하기 풀이🛫 # 회문 2 T = 10 for t in range(T): tc = int(input()) arr = [list(input()) for i in range(100)] totalLi = [] for col in range(100): for row in range(100): # 짝수 개가 같을 때 if arr[col][row-1] == arr[col][row]: l = 1 while 0

    [SWEA] #4861. 회문_파이썬

    풀기 전 생각해보기😮 이차원 배열에서 회문 찾기 풀이🛫 T = int(input()) for t in range(T): N, M = map(int, input().split()) arr = [list(input()) for i in range(N)] li = [] # row 방향 탐색 for col in range(N): for row in range(N): # M이 짝수일 때 if M%2==0 and arr[col][row-1] == arr[col][row]: l = 1 while 0

    [SWEA] #12712. 파리퇴치3_파이썬

    풀기 전 생각해보기😮 +방향, x방향에 대해서 어떻게 탐색할 것인가 세기가 달라질 때를 고려하는 방법은? 풀이🛫 T = int(input()) for t in range(T): N, M = map(int, input().split()) arr = [list(map(int, input().split())) for i in range(N)] catch = [] answer = 0 # +형: 12, 3, 6, 9 dpcol = [-1, 0, 1, 0] dprow = [0, 1, 0, -1] # x형: 2, 4, 8, 10 dxcol = [1, -1, -1, 1] dxrow = [1, 1, -1, -1] # 세기가 M일 때 +형에서 잡을 수 있는 파리의 수 for col in range(N): for row i..

    [SWEA] 1959. 두 개의 숫자열

    풀기 전 생각해보기😮 다중 for 구문의 구현 풀이🛫 # 1959. 두 개의 숫자열 T = int(input()) for t in range(T): N, M = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) li = [] if N M: for j in range(N-M+1): total = 0 for i in range(M): total += A[i+j]*B[i] li.append(total) ..

    [SWEA] #4831. 전기버스_파이썬

    풀기 전 생각해보기😮 정답을 도출하는데 필요한 조건만 구현하기 인덱스 주의 풀이🛫 T = int(input()) for t in range(T): K, N, M = map(int, input().split()) station = [0] + list(map(int, input().split())) + [10] curIdx = 0# 현재의 위치 charCnt = 0 # 충전 횟수 for i in range(1, M+2): # 목적지에 도달할 수 없는 경우 if station[i] - station[i-1] > K: answer = 0 break if curIdx + K < station[i]: curIdx = station[i] charCnt += 1 print(f"#{t+1}", charCnt) 핵심 정리..

    [SWEA] #1211. Ladder2_파이썬

    풀기 전 생각해보기😮 2022.08.11 - [SSAFY/SWEA] - [SWEA] #1210. Ladder1_파이썬과 유사한 문제 이동 가능한 범위에 대해 조건 주의해서 설정하기 좌, 우 방향으로만 이동하는 양을 비교해도? 풀이🛫 T = 10 for t in range(T): testcase = int(input()) arr = [list(map(int, input().split())) for i in range(100)] # 출발 가능한 인덱스를 구함 startList = [] for i in range(100): if arr[0][i] == 1: startList.append(i) def cntRoute(startRow): col, row = 0, startRow cntSide = 0 while c..

    [SWEA] #1210. Ladder1_파이썬

    풀기 전 생각해보기😮 시작점에서 출발하는게 편할까? 도착점에서 출발하는게 편할까? 특정 조건을 만족할 때까지 전진시키는 방법 풀이🛫 T = 10 for t in range(T): case = int(input()) arr = [list(map(int, input().split())) for i in range(100)] # 도착지점의 인덱스 찾기 col, row = 0, 0 for end in range(100): if arr[99][end] == 2: col = 99 row = end break # 출발점에 도착할 때까지 진행 while col != 0: # col == 0: 시작점 # 왼쪽에 길이 있을 때 if row-1 >= 0 and arr[col][row-1] == 1: while row-1 >..