문제 https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 풀이 및 소스코드 https://girawhale.tistory.com/59 [백준] 5639번: 이진 검색 트리 - JAVA 🔗 문제 링크 BOJ 5639번: 이진 검색 트리 1️⃣ 트리 직접 그리기 📝 풀이 과정 전위 순회의 경우 처음 탐색한 값이 항상 root 이기 때문에 먼저 처음 값을 root로 설정해 주었다. 이후 반복문을 돌 girawhale.tistory.com 위..
문제 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 풀이 및 소스코드 n번째 톱니를 기준으로 양쪽으로 회전시켜주어야하는 것이 포인트이다. 처음에 한쪽만 했다가 틀렸습니다에 당..황 ...... 나는 n번째 톱니를 기준으로 오른쪽 톱니들부터 회전을 시켜주었는데, 그렇게 되면 왼쪽 톱니들 회전 시 이전 n번째 톱니들은 변화되어있는 톱니이기 때문에 이전 6번째 톱니바퀴의 상태를 저장해놓고 사용해주었다. 미리 저장하지 않으면 이전 방향의 회전에 ..
문제 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 풀이 및 소스코드 입력받은 용액의 정보들을 정렬한 후, 두개의 포인터를 사용해서 인덱스 양 끝을 가리키게 만든 후 특성값을 비교해가면 된다. 주의할 점은 알칼리성 용액의 정보만, 혹은 산성용액의 정보만 들어올 수 있기 때문에 특성값 비교 후에 음수인지 양수인지 확인 후 포인터를 옮겨줘야 한다. 그렇지 않았을 때의 반례 5 -9 -8 -7 -6 -5 정답 : ..
문제 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 풀이 및 소스코드 이 문제에서는 연산자가 +와 - 두개 밖에 없다. 곱하기와 나누기가 있었다면 좀 더 복잡했겠지만 (다행..) 만약 1+2+3-4+5+6 이러한 식이 있을 때 합이 최소가 되기 위해서는 - 뒤에 부분을 먼저 더한 후 뺄셈을 해주게 되면 된다. 따라서 (1+2+3)-(4+5+6) 이렇게 계산해야하므로 1. "-" 토큰을 기준으로 분리시킨다. 1+2+3 과 4+5+6 2. ..
문제 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 풀이 및 소스코드 회전과 대칭이 가능하면서, 깊이가 4인 dfs로 풀면 된다. ( 티스토리 안봤으면 노가다했을 듯 ㅠㅠ.....) ㅗ, ㅏ, ㅜ, ㅓ 이 모양의 경우에는 위의 방법으로 풀 수 없다. 따라서, + 인접한 네 방향을 모두 더해준 다음 인접한 네 방향에 있는 값들 중 최솟값을 빼주면 된다. import java.io.BufferedReader; import java.io.IOExc..
문제 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 풀이 및 소스코드 로프는 그리디 문제다. 그리디를 안푼지 너무 오래돼서 풀기로 했는데, 오랜만에 푸니까 넘 어려웠다. ㅋㅋㅋㅋㅋ 방법은 간단했다. 내림차순으로 정렬한 다음 큰수부터 차근차근 비교해나가면 된다. 로프 [10, 15, 20, 23, 40] 이 존재 할 때, 1. 내림차순으로 정렬 [40, 23, 20, 15, 10] 2. 중량 40 로프를 하나 선택 -> 중량 40 가능..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cGhLOc/btrnfALdv1O/NKuYD4Zgl7Lhkhf6hXsjy1/img.png)
풀이 및 소스코드 아래 그림처럼 조망권을 검사할 건물의 위치를 i라고 했을 때 i를 기준으로 왼쪽 2개의 건물과 오른쪽 2개의 건물의 높이를 검사해주면 된다. 1. 하나라도 현재 검사할 건물의 높이보다 높다면 -> 더이상 보지않고 다음 건물을 검사한다. 2. 이웃한 건물들의 높이가 현재 건물의 높이보다 작다면 -> 그 중에서 가장 높은 건물을 찾고 현재 건물 높이 - 가장 높은 건물의 높이 를 해주면 조망권이 확보된 세대 수가 나온다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; class Solution { public s..
풀이 및 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.StringTokenizer; class Solution { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
- Total
- Today
- Yesterday
- 백준
- 프로그래머스 파이썬
- swea 4070 타일링
- 백준 17144
- union-find
- 1240 자바
- SSAFY
- swea 타일링 자바
- 파이썬
- 프로그래머스
- ubuntu
- SWEA
- 백준 dp 문제
- swea 1240
- yoloV3
- swea 1240 자바
- poker swea
- 더 맵게
- swea 타일링
- 3996 자바
- 삼성청년SW아카데미
- 타일링 자바
- 프로그래머스 자바
- 우분투
- 백준 풀이
- 파이썬 풀이
- 백준파이썬
- 메뉴리뉴얼 풀이
- 1699 자바
- 프로그래머스 더 맵게
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |