목록Algorithm/SWEA (4)
S E P H ' S
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 키포인트는 이진 트리를 이해하고 응용할 수 있는지와 트리의 성질을 이용해 답을 도출해나갈 수 있는지 두 가지로 보았다. 트리의 성질을 더욱 잘 이해하고 있어야 하는 이유가 있는 문제였다. 트리를 활용한 기본 문제들은 입력에서 자식 노드의 인덱스들을 parentIdx * 2 (왼쪽 자식 인덱스), parentIdx * 2 + 1 (오른쪽 자식 인덱스) 그대로를 주는 문제들이 대부분이었다. 다시 말하자면 부모 인덱스가 무조건 자식 인덱스보다 작았었다. 하지만 이 문제의 입력값을 보자면 부모 인덱스가 자식 인덱스보다 값이 큰 경우도 확인해볼 수 있다. 그래서 ..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 처음에는 단순히 입력으로 주어진 문자를 서로의 길이 만큼 반복해서 더한 뒤 대조를 하면 될줄 알았는데 그렇게 하니 메모리초과가 되며 런타임 에러가 발생했다. 그래서 문자열 반복해서 더해서 StringBuilder에 append하여 대조를 했더니 모든 테스트케이스를 통과할 수 있었다. import java.io.BufferedReader; import java.io.InputStreamReader; public class Solution { public static void main(String[] args) throws Exception { Buffere..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 - 현재 가리키고 있는 노드가 1/1이고, 현재 노드가 a/b를 가리키고 있다면 왼쪽 자식은 a/a+b, 오른쪽 자식은 a+b/b를 나타낸다는 것에 집중한다. import sys sys.stdin = open('sample_input.txt', 'r') T = int(input()) for t in range(1, T+1): sList = input() a, b = 1, 1 for s in sList: if s == 'L': a = a b = a + b elif s == 'R': a = a + b b = b print('#{} {} {}'.format(t..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com T = int(input()) for t in range(1, T+1): N, M = map(int, input().split()) square = [list(map(int, input().split())) for _ in range(N)] max_num = 0 for i in range(N-M+1): for j in range(N-M+1): cur = 0 for k in range(M): for l in range(M): cur += square[i+k][j+l] if cur > max_num: max_num = cur print('#{} {}'.format(t..