일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 2021.01.12
- 2021.01.13
- 알고리즘데이
- 2021.01.18
- 백준
- 백준 9093
- 백준 1149
- algorithm
- 코드스쿼드
- 박재성
- 2021.01.11
- 2021.01.21
- 쉽게 배우는 운영체제
- 2021.01.17
- Til
- java
- 알고리즘
- 마스터즈 2주차 회고
- 2021.01.06
- 코드스쿼드 마스터즈
- 자바
- 2020.01.08
- spring-boot
- 2021.01.19
- 잃어버린 괄호
- SWEA
- 2021.01.22
- 2021.01.14
- 괄호
- baekjoon1541
- Today
- Total
목록백준 (4)
Cooper's devlog
1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net [문제를 접근방법] 이 문제는 컨셉을 어떻게 잡느냐에 따라서 문제를 푸는 시간이 좌지우지되는 문제입니다. 여기서 문제의 핵심은 '괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.' 여기서 적절히라는 의미는 괄호를 여러개 쳐도 상관없다는 것을 의미합니다. 이 것을 식을 통해서 확인해보겠습니다. 30 +40 -45 +60 + 75 - 80 + 20 이 경우를 확인해보면 괄호를 어떻게 쳐야 할까요? 30 + 40 -(45 + 60 + 75) - (80 +..
[문제 설명] 이번 문제는 '양 구출 작전 '입니다. 문제를 간략히 설명하자면 각각의 섬들은 연결된 상태로 존재한다. 1번을 제외한 섬에는 양 혹은 늑대가 산다. 양을 싣고 이동하는 중에 늑대가 있는섬을 만나면 늑대는 양을 잡아먹는다.(늑대 1마리당, 양 1마리) 1번 섬으로 구출할 수 있는 양의 수를 찾는다. [문제 접근 방법] 문제의 내용에 '각각의 섬들은 연결된 상태로 존재한다.' 이 문구를 확인하고 트리 구조로 문제를 접근해야겠다고 생각했고 각 LeafNode들에서 출발해서 1번 섬에 도달할 때까지 양들이 살아남는 경우를 구하는 것이었습니다. 그러기 위해서는 순회 방법 중 후위순회(postOrder)이 적합하다고 생각했습니다. 먼저 문제 풀이 방식을 설명하면 리프노드에서 출발해서 상위 노드로 올라..
[문제 접근 방법] 이번 문제는 트리 순회 문제입니다. 이 문제는 이진트리로 전위 순회, 중위 순회, 후위 순회를 탐색하는 방식을 확인하고자 하는 문제 입니다. 문제에서 제시한 것을 다시 한 번 정리하면 전위 순회 : 루트 노드 → 왼쪽 자식 노드 → 오른쪽 자식 노드 중위 순회 : 왼쪽 자식 노드 → 루트 노드 → 오른쪽 자식 노드 후위 순회 : 왼쪽 자식 노드 → 오른쪽 자식 노드 →루트 노드 순으로 탐색을 한다로 문제에서 제시합니다. 문제 풀이 방식은 먼저 (1)트리를 구현하고 (2)전위(preOrder), 중위(inOrder), 후위(postOrder)로 출력하도록 하는 로직을 작성하는 방식으로 로직을 구성하면 되겠습니다. [전체 코드] import java.io.*; import java.uti..
1. 문제 링크 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 2. 문제 설명 3. 문제 접근법 예제1 (1) stack이 비어있을 때, stack에 index를 추가한다. (2) stack이 비어있지 않을 경우, 배열 ans에 a[0(인덱스)]의 값을 추가한다. (3) a[1] < a[2]가 아니므로, stack에 2를 추가한다. (4) a[1] < a[3] 이므로, a[3]을 ans[1]에 추가 (5) stack에서 뽑은 값(인덱스)으로 비교 시, a[..