전체 글 40

백준9012번: 괄호

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은..

백준2164번: 카드2

https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자...

백준 10773번: 제로

https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고..

백준 1157번: 단어 공부

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다...

백준 11651번: 좌표 정렬하기 2

https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤..

백준 2751번: 수 정렬하기 2

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5..

기본STL정리

시간복잡도 - 보통 반복문이 결정, Big-O 표기법 사용 컴퓨터는 1초에 약 1억번(10^8) 연산 가능 tip!) 입력이 커질 때 사용 => ios_base::sync_with_stdio(false); cin.tie(NULL); c++에서는 개행문자로 endl사용 but 너무 느림 ∴ 대신 '\n' 사용 STL(Standard Template Library) PS에서 C++을 쓰는 이유 PS에서 자주 쓰이는 여러 자료구조, 알고리즘등이 구현되어 있음 -vector, stack, queue, set, map, string등의 자료구조 -최댓값, 최솟값, 이분탐색, 엄청 빠른 정렬등의 알고리즘 Sort 기본적으로 오름차순 정렬, 퀵 정렬을 기반으로 함, 최악의 경우에도 O(NlogN)보장 #include..

알고리즘 2021.08.12

Do it 안드로이드 앱 프로그래밍 - 첫째마당

첫째마당 - Hello! 안드로이드 MainActivity.java안에서 onCreate()함수가 시작점의 역할을 한다. setContentView()함수 : 화면에 무엇을 보여줄 것인지를 설정해주는 역할 java소스(.java)와 .xml 파일은 분리되어있기 때문에 xml에서 추가한 버튼(ex)을 .java에 연결해야한다. -> 버튼에서 발생한 이벤트를 자바 소스에서 처리하기 위해서 Toast(토스트) : 작고 간단한 메시지를 잠깐 보여주는 역할 -> Toast클래스의 makeText(), show()메서드를 사용하면 화면에 잠깐 보였다 없어지는 메시지를 표시할 수 있음 Intent(인텐트) : 어떤 기능을 실행할 것인지 지정시 사용 (인텐트를 사용하면 app구성 요소 간에 데이터를 전달하거나 실행하려..

Android Studio 2021.07.12

그래프, 트리

그래프 : 정점(vertex)과 간선(edge)의 집합으로 정의된 자료구조 G=(V,E) ( ) : 무방향 , : ->방향 degree(차수) : 정점에 연결된 간선의 수(방향그래프에서는 indegree,outdegree) cycle weight(가중치) : 간선에 할당되는 무게 인접행렬(adjcent matrix) : 두 정점간의 간선 연결관계를 |v| * |v|크기의 행렬(배열)로 표현 +)구현간단 -)공간복잡도 v^2 인접리스트(adjcent list) : O(E) DFS(스택 , 재귀함수사용) : 끝까지 가는 방식 BFS(큐, ※ 부분 그래프, 연결 요소, 강력 연결 요소, 트리, 신장 트리, 단절점, 이중 결합 그래프, 이중 결합 요소 ...

알고리즘 2021.03.07