[Java] 백준 17271번: 리그 오브 레전설 (Small)
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/17271  ✏️ 풀이알고리즘 분류: DP 난 처음부터 DP라는걸 눈치 채지 못 하고 일단 나이브하게 완탐으로 풀었다. DFS라서 `2^N`이나 되기 때문에 시간초과다. 일단 이렇게 해서 답이 나왔다는 걸 알았으니까 이 논리를 가지고 dp로 바꾸면 된다.import java.io.*;import java.util.*;public class Main { static int N, M; static int answer = 0; static Set visited = new HashSet(); static void comb(int sum, String pattern) { if(visited.contains(p..
통신 기술의 발전: 2G, 3G, 4G, 5G
·
programming/환경설정 및 팁
2G (Second Generation)주요 기술: GSM, CDMA속도: 최대 64 kbps주파수 대역: 900 MHz, 1800 MHz (GSM)출시 연도: 1991년 (GSM 상용화)의의:디지털화의 시작: 아날로그에서 디지털로의 전환으로 음성과 데이터 통신의 품질이 향상되었습니다.SMS와 데이터 서비스: 문자 메시지(SMS) 서비스 도입으로 비언어적 소통이 가능해졌습니다.보안성 강화: 디지털 신호로 인해 통신의 보안성이 높아졌습니다.3G (Third Generation)주요 기술: UMTS, HSPA속도: 최대 2 Mbps (이론상)주파수 대역: 2100 MHz (UMTS), 850/900/1700/1900 MHz (HSPA)출시 연도: 2001년 (일본에서 WCDMA 상용화)의의:모바일 인터넷의 ..
[C++] 백준 1253번: 좋다
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/1253  ✏️ 풀이실질적으로 N은 2000개 밖에 되지 않지만 나이브하게 생각할 수 있는 for문으로는 O(N^3)으로 무리가 있다.2개의 값을 가리켜야 한다는 점을 고려하면 투포인터가 적합하다. #시간 복잡도 계산투포인터를 사용하기 위해 정렬이 필요하다. ⇒ O(nlogn)N개의 값에 대한 최대 N번을 고려한다. ⇒ O(N^2) 수열에 음수가 있을 때 답이 나오지 않는다는 것을 발견했다3-3 0 3// 1 (0)3-2 -1 -1// 1 (-2)   i번째 수열은 0부터 N-1의 범위를 모두 보아야 한다. 이 때 자기 자신을 가리키지 않도록 조건 체크를 반드시 해주어야 한다.    💾  소스#include #include #includ..
[C++] 백준 31863번: 내진 설계
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/31863 # 문제 내용 오늘 새벽, 갑자기 규모 5.0 지진이 발생했다. 지진이 발생한 진원지는 N×M 격자 모양의 지역 중 한 곳이다. 진원지에서 발생한 지진을 본진, 건물이 무너졌을 때 발생하는 약한 지진을 여진이라고 하자. 본진은 진원지를 기준으로 상하좌우 각 방향으로 2칸까지 뻗어나가며, 여진은 상하좌우로 1칸까지 뻗어나간다. 본진과 여진은 건물에 영향을 준다. 내진 설계가 되어 있지 않은 건물은 지진이 도달한 즉시 무너지지만, 내진 설계가 되어 있는 건물은 지진이 2번 도달하면 무너진다. 본진과 여진이 뻗어나가는 도중 지진 방파제를 만나거나 격자 모양의 지역 밖으로 나가면 더 이상 뻗어나가지 않는다.  ✏️ 풀이 자 문제를 정리..
[C++] 백준 1063번 : 킹
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/1063 ✏️ 풀이 시키는 방향대로 이동하면 된다. 킹이나 돌맹이의 이동은 간단한 `BFS`로 풀 수 있다.  이 문제가 실버3 인 이유는 위치가 x, y가 아니라 문자열로 주어진다는 점이다.문자열 변환은 그냥 아래처럼 배열을 만들어줬다. const char strCol[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'}; 이렇게 하면 실제 열과 문자열의 순서가 맞는다. 행은 그냥 역순으로 계산해주면 되어서 7-row로 구했다.   이동해야할 것을 dir와 strDir를 순서를 맞춰 보관한다. 방향이 주어지면 for문으로 맞는 방향으로 이동해주었다. const int dir[8][2] = {{-1, -1}, ..