목록algorithm (61)
현제의 현재이야기
| 문제 1이상 100이하의 숫자로만 이루어져 있는 n * n 크기의 격자 정보가 주어집니다. 이때 행복한 수열이라는 것은 다음과 같이 정의됩니다. 행복한 수열 = 연속하여 m개 이상의 동일한 원소가 나오는 순간이 존재하는 수열 n * n 크기의 격자 정보가 주어졌을 때 각 행마다 봤을 때 나오는 n개의 수열과, 각 열마다 봤을 때 나올 수 있는 n개의 수열을 포함하여 총 2n개의 수열 중 행복한 수열의 개수를 세서 출력하는 프로그램을 작성해보세요. 예를 들어, 다음과 같은 경우라면, 첫 번째 행을 골랐을 경우와 첫 번째 열을 골랐을 경우에만 행복한 수열이 되므로, 총 행복한 수열의 수는 2개가 됩니다. 첫번째 풀이 n, m = map(int, input().split()) lst = [ list(map..
| 문제 0과 1로만 채워져 있는 n * n 크기의 격자판 정보가 주어집니다. 0은 빈 칸을, 1은 해당 칸에 블럭이 채워져 있음을 뜻합니다. 이때 1 * m 크기의 블럭이 격자판 위에서 떨어집니다. 이 블럭은 k번째 열 부터 k + m - 1번째 열까지의 공간을 차지하며, 가장 위에서부터 밑으로 떨어집니다. 만약 이 블럭이 떨어지는 도중 단 한곳에라도 이미 격자판 위에 놓여있던 블럭과 맞닿게 된다거나, 혹은 바닥에 닿게 된다면 떨어지는 것을 멈추게 됩니다. 내 풀이 arr = list(map(int, input().split())) n = arr[0] m = arr[1] k = arr[2] grid = [ list(map(int, input().split())) for _ in range(n) ] sa..
완전탐색 시간을 계산해보고 완전탐색을 사용할 수 있으면 사용해라! | 문제 N * N 크기의 격자 정보가 주어집니다. 이때 해당 위치에 동전이 있다면 1, 없다면 0이 주어집니다. N * N 격자를 벗어나지 않도록 3 * 3 크기의 격자를 적절하게 잘 잡아서 해당 범위 안에 들어있는 동전의 개수를 최대로 하는 프로그램을 작성해보세요. # 내 답 n = int(input()) grid = [ list(map(int, input().split())) for _ in range(n) ] money = 0 def get(i, j): get_money = 0 for i_ in range(i, i+3): for j_ in range(j, j+3): get_money += grid[i_][j_] return get_..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com results = [] for _ in range(10): n = int(input()) building = list(map(int, input().split())) nice_view = 0 for p in range(2, n-2): max_height = max(building[p-1], building[p-2],building[p+1], building[p+2]) if building[p] > max_height: nice_view += building[p] - max_height results.append(nice_view) cnt = 1 for result..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com n = int(input()) turn = [int(input()) for _ in range(n)] results = [] cnt = 0 for i in turn: cnt += 1 if i % 2 == 0: results.append(f"#{cnt} Alice") elif i % 2 == 1: results.append(f"#{cnt} Bob") for result in results: print(result) | 알고리즘 어쩌다보니 그냥 짝수 홀수냐 문제 인데.. 이거 삼성 문제도 대충 나와있고 백준보다 질이 떨어지는 것 같다. 아니 번갈아서 자르는데 반으로 ..