본문 바로가기

Code18

백준 단계별 문제 <if문 > [14681번] : 사분면 고르기 자바 import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); sc.close(); if(x>0){ if(y>0) System.out.print(1); else System.out.print(4); } else{ if(y>0) System.out.print(2); else System.out.print(3); } } } [2884번] : 알람 시계 import java.util.*; public class Main{ public static vo.. 2022. 1. 20.
백준 단계별 문제 < 입출력 > [1]입력 : Input 1. Scanner Scanner sc = new Scanner(System.in); System.in은 inputStream의 정적 필드이다. - 스트림 : 데이터의 흐름으로 시작점과 끝점이 존재하는 흐름을 의미한다. 파일 데이터 , 입력 데이터 등이 Stream으로 분류 될 수 있다. - InputStream : 입력 값의 시작부터 끝으로, Scanner로 부터 입력받는 데이터 흐름 - OutputStream : 출력 값의 시작부터 끝 - 내부 과정에서는 InputStreamReader를 호출하여 StreamDecoder를 호출하여 InputStream을 문자형태로 해석한다. - 바이트 단위 데이터를 Charcter 단위 데이터로 변환한다. - 이후 next(), netxIn.. 2022. 1. 12.
최단 경로 알고리즘 (2) 개선된 다익스트라 알고리즘 저번장의 알고리즘은 시간 복잡도가 O(V^2)으로 노드의 개수가 10,000개를 넘어가는 순간 해결이 어려워졌었다. 하지만 다음의 구현 방법을 이용하면 최악의 경우에도 시간 복잡도 O(E logV)를 보장하여 해결할 수 있다. 여기서 V는 노드 개수 , E는 간선 개수이다. 저번 장의 알고리즘에서 최단 거리가 짧으면서 탐색하지 않은 노드를 찾기 위해서 선형적으로 테이블을 탐색해야 했다 => N 이 때 힙 자료구조를 사용하여 최단거리에 대한 정보를 빠르게 찾도록 하자 힙을 사용하면 선형시간이 아닌 로그시간이 걸리므로 N이 1,000,000 이라면 로그시간에서 약 20 정도로. 속도가 크게 빨라진다. - 파이썬에서 우선순위 큐를 지원하기 위해 PriorityQueue 와 heapq.. 2021. 9. 6.
최단 경로 알고리즘 최단 경로 알고리즘에 대표적인 알고리즘으로는 다익스트라, 플로이드 워셜, 벨만 포드 알고리즘이 있다. 다익스트라 최단 경로 알고리즘 그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘이다. 이 때 조건은 음의 간선이 없는 경우에 정상적으로 동작한다는 점이다. 현실 세계에서의 길에는 음의 간선의 표현될 일이 없으므로 실제 GPS 소프트웨어의 기본 알고리즘으로 채택되곤 한다. 다익스트라 알고리즘을 그리디 알고리즘(탐욕법)으로도 분류된다. '매번 가장 적은 비용의 노드를 선택'하는 임의의 과정을 반복하기 때문이다. 알고리즘은 최단 경로를 구하는 과정에서 각 노드에 대한 현재까지의 최단거리를 단계마다 게속 갱신해 나간다. 즉 매번 현재 처리하고.. 2021. 9. 1.
반응형