본문 바로가기

프로그래밍

(2)
백준 17298 : 오큰수 링크 : https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 가장 쉬운 방법은 for loop을 두 개 써서 O(n^2)의 시간 복잡도로 푸는 것입니다. 하지만 N이 최대 1,000,000까지 될 수 있기 때문에 당연히 시간 초과가 뜰 것입니다. 스택을 이용한다면 O(n)의 시간 복잡도로 풀 수 있습니다. 이렇게 모든 원소에 대해 원소 오른쪽/왼쪽에 어떤 조건을 만족하는 첫번째 원소를 구하라는 문제는 보통 단일 스택 (monotonic stack, 상황에 따라 ..
[1] c++ 강의 - 프로그램이란? 한번쯤은 이런 글도 써 보고 싶었습니다. 앞으로 계속 프로그래밍에 관한 글을 조금씩 게재할 예정입니다. 오늘은 기본중의 기본, 프로그램이 무엇인가에 대해서 간단히 알아보도록 하겠습니다. 프로그램이란? 프로그램이란 간단히 말해서 컴퓨터가 실행시키는 명령어들의 모음이라고 할 수 있습니다. 프로그램으로 계산을 하거나, 모니터에 글자를 띄우거나 등의 특수한 일을 처리할 수 있죠. 프로그램은 해야 할 일 목록과 유사합니다.예를 들어서, 레모네이드를 만든다고 가정해 봅시다. 레모네이드를 만들기 위해 어떻게 해야 할까요?초간단하게 만들기 위해서는 다음과 같이 된다고 합시다. 1. 컵에 물을 채운다.2. 레몬 주스를 첨가한다.3. 설탕을 첨가한다.4. 저어 준다. 이렇게 일련의 과정을 통해 레모네이드가 탄생합니다. 프..