practivceAlgorithm/swexpertacademy 84

[SWEA][Python] L4839 이진탐색

이진탐색.. cnt를 곁들인.. import sys sys.stdin = open('input.txt') # 좌우로 부터 조여 몇번 조여야 원하는 n값에 도달하는지 체크합니다. def binary_search(P, n): left = 1 right = P cnt = 0 while left n: right = mid else: break return cnt def find_winner(): P, A, B = map(int, input().split()) if P == 1 or A == B: return 0 a_cnt = binary_search(P, A) b_cnt = binary_search(P, B) # 체크한 횟수를 비교해 결과를 반환합니다. if a_cnt > b_cnt: return 'B' eli..

[SWEA][Python] 1210 ladder1

말은 사다리게임이고 실상은 사다리 오르기 게임. 좌우 선탐색BFS로 풀었슴니다. import sys sys.stdin = open('input.txt') from collections import deque def find_start(ladder): for i in range(100): for j in range(100): if ladder[i][j] == 2: return i, j # 사다리게임을 합니다. def do_ladder_game(ladder): visited = [[False for _ in range(100)] for _ in range(100)] init_x, init_y = find_start(ladder) # 도착지를 찾습니다. dx = [0, 0, -1] dy = [1, -1, 0]..

[SWEA][Python] 1954 달팽이숫자

사방탐색형 달팽이 숫자 그렸습니다.(분할정복은 안함) import sys sys.stdin = open('input.txt') def make_snail(n): dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] complete_snail = [[0 for _ in range(n)] for _ in range(n)] # 0,0 에서 초기화 cnt = 1 direction = 0 x, y = 0, 0 complete_snail[x][y] = cnt # cnt 가 모든 칸에 기록될때까지 while cnt != N**2: nx = x + dx[direction] ny = y + dy[direction] if 0

[SWEA] 1209 배열의 최댓값 구하기

2차원 배열 가로, 세로, 대각선 중 합의 최댓값 구하는 문제. import sys sys.stdin = open('input.txt') def find_max(arr): max_sum = 0 # 행 조사 for row in range(100): sum_row = sum(arr[row]) if max_sum < sum_row: max_sum = sum_row # 열 조사 for column in range(100): sum_column = sum([k for k in zip(*arr)][column]) if max_sum < sum_column: max_sum = sum_column # 대각선 조사 sum_diagonal1 = 0 sum_diagonal2 = 0 for i in range(100): su..