[프로그래머스 87390] n^2 배열 자르기 (Python)

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87390 문제 해설 Idea Greedy n의 크기가 굉장히 크기 때문에 2차원 배열을 만드는 것만으로 시간 초과가 발생할 것을 예상 r행 c열의 값은 max(r,c)+1과 같고 1차원 배열의 인덱스 i에 대해 r은 i//n, c는 i%n와 동일 left부터 right까지의 인덱스를 규칙에 맞는 값으로 변환하여 반환 Time Complexity O(N) = 10^5 Data Size n: 1 <= int <= 10^7 left, right: 0 <= long <= n^2 right - left < 10^5 해설 코드 1 2 def solution(n, left, right): return [max(divmod(i,n))+1 for i in range(left,right+1)]

August 16, 2022 · 1 min · 83 words · minyeamer

[백준 1541] 잃어버린 괄호 (Python)

문제 링크 https://www.acmicpc.net/problem/1541 문제 해설 Idea Greedy 최솟값을 만들기 위해서는 ‘-‘를 기준으로 괄호를 치는 것이 최선 ‘-‘를 기준으로 식을 나누고 구분된 식을 계산하여 결과를 출력 Data Size arr: str(50) 해설 코드 1 2 3 4 5 arr = input().split('-') answer = sum(map(int,arr[0].split('+'))) for i in arr[1:]: answer -= sum(map(int,i.split('+'))) print(answer)

August 16, 2022 · 1 min · 50 words · minyeamer