https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 �� www.acmicpc.net 난이도 : 골드 5 스택과 우선순위 큐를 이용하여 풀었습니다. 스택에서 하나씩 pop 하여 우선순위 큐에 있는 값과 비교하고, pop 한 값이 더 크다면 우선순위 큐에 있는 값에 그 인덱스를 남겨줍니다. 문제에서 주어진 예제를 그림으로 이해하기 쉽게 표현해 봤습니다. 표 밑은 우선순위 큐(value, index)이고 좌측은 스택입니다. 메소드 void main 스택에 입력을 받고 우선순위 ..
https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 난이도 : 골드 3 단순 구현 문제입니다. 톱니바퀴가 생각나는 문제였습니다. 2020/08/15 - [문제풀이/자바] - [백준 15662] 톱니바퀴(2) (자바) [백준 15662] 톱니바퀴(2) (자바) https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져..
https://www.acmicpc.net/problem/2589 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 난이도 : 골드 5 BFS를 이용한 브루트 포스입니다. 땅의 한 지점에서 BFS로 퍼져나가며 가장 큰 수가 가장 먼 거리입니다. 모든 지점에서 BFS를 통해 먼 거리를 최신화시켜줍니다. 전역 변수 n, m = 지도의 가로, 세로의 크기 answer = 가장 먼 거리(답) st = 땅의 좌표를 저장하는 스택 dx, dy = 좌표 이동시 사용할 배열 메소드 void main 입력 값을 받고 L(땅) 일 때 스택에 push 합니다. 모든 좌표값에 대해 먼 거리를 탐색하여 답을 찾고 출력합니다. (find 호출) void ..
https://www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 난이도 : 골드 5 제일 자신 없는 다이나믹 프로그래밍입니다. 많이 풀다 보니 조금은 풀이가 보이네요. 연속된 수를 선택하여 가장 큰 합을 구하는 문제입니다. 단, 연속된 수에서 1개의 수를 제거할 수 있습니다. 저는 2차원 배열로 제거를 안 한 경우, 제거를 한 경우의 최댓값을 구했습니다. 0은 수를 제거하지 않은 경우의 최대값, 1은 수를 제거한 경우(제거 안 한 경우 포함)의 최댓값입니다. 0번..
https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 www.acmicpc.net 난이도 : 골드 3 문제를 직관적으로 바라보고 풀었는데 바로 통과가 됐습니다. 난이도보다 매우 쉬운 문제였습니다. 입력값까지의 소수를 구한 후 투 포인터로 입력된 값이 맞는지 확인해 주면 됩니다. 투 포인터란? 투 포인터는 2중 for문에서 변수인 i, j로 배열을 탐색하며 범위를 조절하는 방법입니다. 위의 그림에서는 i,..
https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 난이도 : 골드 4 무난한 BFS 문제입니다. 하지만 단순히 방문 여부로 목적지까지 길을 찾는다면 벽을 적게 부수며 멀리 돌아온 경우가 벽을 많이 부수며 빨리 도착한 경우에 밀려서 오답을 낼 수 있습니다. 방문하는 칸마다 최적화시켜서 목적지까지 찾아갔습니다. 전역 변수 n, m = map의 크기(m이 가로 수, n이 세로 수) map[][] = 미로의 값 value[][] =..
https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net 난이도 : 골드 4 우선 이 문제를 풀기 위해서는 이분 그래프에 대해 알아야 합니다. 저는 문제를 처음 읽었을 때 이분 그래프를 잘못 이해해서 이상한 방향으로 갔습니다. 이런식으로 그래프가 2덩어리로 나눠진 것을 찾는 문제인지 알았어요.. 하지만 이런 친구가 이분 그래프였습니다. 이분 그래프에 대해 쉽게 설명드리겠습니다. 전 어렵고 전문적이게 설명을 못 하기 때문이예요. 저는 이렇게 ..
https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.) www.acmicpc.net 난이도 : 골드 5 개인적으로 이런 유형의 문제를 좋아해서 재밌게 풀었습니다. 여러 기능을 구현하다 보면 열심히 일 하는 느낌(?)이 들어서 기분이 좋아요. 다양한 기능이 필요하지만 어렵지 않고 각 기능만 제대로 구현한다면 잘 동작하는 문제였습니다. 한 사이클에 터질 수 있는 블록을 모두 체크해두고 사이클이 끝나면 그 블록들을 터트린 후 위에 붕 떠있는 블록들을 밑으로 내려주는 과정을 반복하면 됩니다. 쉽죠? 전역 변수 map[][] = 게임판 answer = 몇 사이클 돌았나?(답..
- Total
- Today
- Yesterday
- 레벨3
- 골드
- 카카오
- 후기
- 플레
- 자료구조
- 브루트포스
- 취준
- 트리
- 레벨4
- 구현
- 레벨2
- 스프링부트
- 그래프탐색
- 게시판
- dfs
- 실버
- BFS
- 스프링
- 백준
- 네이버
- 프로젝트
- 최소스패닝트리
- 코딩테스트
- 시뮬레이션
- 프로그래머스
- 면접
- 그래프이론
- 신입
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |