import sys input = sys.stdin.readline n = int(input()) b = list(map(int, input().split())) ## 틀린 풀이 # 수신한 탑들의 번호 출력 result = [0] h = 0 # 가장 높은 빌딩의 index for i in range(1,n): if b[h] > b[i]: result.append(h+1) else: result.append(0) # 뒤 차례 기준, 가장 가깝고 + 높은 빌딩 if i != n -1 and b[i] > b[i + 1]: h = i print(*result) 처음에 했던 틀린 풀이... 틀렸습니다가 떴다. 당연했던게 바로 왼쪽 빌딩 1개만 보고, 현재 빌딩보다 높지않으면 0을 넣어준다. 왼쪽에 있는 다른 빌딩..
분류 전체보기
import sys input = sys.stdin.readline stack = [] for _ in range(int(input())): commands = input().rstrip().split() if commands[0] == "push": stack.append(int(commands[1])) elif commands[0] == "pop": print(-1) if not stack else print(stack.pop()) elif commands[0] == "size": print(len(stack)) elif commands[0] == "empty": print(0) if stack else print(1) elif commands[0] == "top": print(stack[-1] if..
import sys input = sys.stdin.readline import heapq n, m = map(int, input().split()) cards = [i for i in map(int, input().split())] heapq.heapify(cards) for _ in range(m): x = heapq.heappop(cards) y = heapq.heappop(cards) heapq.heappush(cards, x+y) heapq.heappush(cards, x+y) print(sum(cards)) 우선 순위 큐를 이용하면 쉽게 풀 수 있는 문제였다!

캡! 상추다 객체 지향 특성 => 도구 SOLID 설계 원칙 => 도구를 올바르게 사용하는 방법 디자인 패턴 => 요리법, 레시피 이전의 많은 개발자들이 고민하고 정제한 사실 상의 표준 설계 패턴 실제 개발 현장에서 비즈니스 요구 사항을 프로그래밍으로 정리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 best practice = 디자인 패턴 스프링을 이해하는데 도움이 될 디자인 패턴! 스프링 프레임 워크 = "자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크" = "OOP 프레임워크" 나는 지금 객체 지향에서 시작해 스프링으로 향하는 Bottom-Up 학습 중! 디자인 패턴은 객체 지향의 특성 중 상속(extends), 인퍼테이스(interface/implemen..