반응형
-
[백준 Gold 3] 1516 게임 개발 - Java 문제링크 : https://www.acmicpc.net/problem/status/1516 1516번 맞힌 사람 - 1 페이지 모든 언어C++JavaPythonCC++17Java 8Python 3C11PyPy3C99C++98C++11C++14Java 8 (OpenJDK)Java 11C++20Python 2PyPy2RubyKotlin (JVM)Kotlin (Native)CythonSwiftTextC#node.jsGoGo (gccgo)Java 15DD (LDC)F# (Mono)PHPRust 2015Rust 2018PascalScalaLuaPerlRakuRuby 1.8R www.acmicpc.net 접근 과정 : 어떤 건물을 짓기 전에, 지어야 하는 건물이 있다면 그 건물들을 모두 먼저 지어야 한다. 건물을 ..
-
[백준 Gold 4] 4485 녹색 옷 입은 애가 젤다지? - Java 문제링크 : https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 접근 과정 : 링크가 상하좌우로 움직인다. -> DP불가 and DFS로 하면 힘듬(매 경우마다 visit체크 필요 및 시간초과) BFS 와 유사한 방법으로 접근 좌표와 해당 좌표까지 잃은 소지금을 PriorityQueue에 집어넣어서 잃은 소지금이 적은 순으로 출력. visit[][]를 통해 각 좌표에서의 최소 소지금을 표시. PriorityQueue를 통해 하나씩..
-
JVM (Java Virtual Machine ) 이란? JVM이란? JVM은 Java Virtual Machine 의 약자로 자바 가상 머신입니다. Java로 작성된 애플리케이션은 JVM에서만 실행됩니다. JVM은 Java 바이트코드를 읽고 이를 OS에 맞게 해석하여 실행할 수 있도록 하는 역할을 수행합니다. 이렇게 JVM이 OS과 Java 애프릴케이션 사이에서 역할을 수행하기 때문에 Java 애플리케이션은 OS에 독립적으로 실행될 수 있습니다. Java 코드의 변경없이, 다양한 OS에서 실행할 수 있습니다. 또한 Garbage Collection을 이용해서, 메모리를 효율적으로 관리해 줍니다. JVM의 역할 Java 바이트 코드를 OS에 맞게 해석하여 실행 Garbage Collection을 이용해 메모리를 효율적으로 관리 Java 바이트 코드 Java 바.. -
문자열을 숫자로 (Integer) parseInt(String) VS valueOf(String) 문자열 -> 숫자 변환?? Java를 사용하다보면, 우리는 문자열을 숫자로 변환시켜야 하는 상황을 자주 마주합니다. 그럼 어떻게 하시나요? Java는 문자열->숫자 변환을 위해 2가지의 메소드를 제공하고 있습니다. 바로 Integer.valueOf 와 Integer.parseInt 입니다. String S = "123"; int A = Integer.parseInt(S); Integer B = Integer.valueOf(S); 코드에서 본 것처럼, 언뜻 같은 기능을 하는 2개의 메소드의 차이를 알아보려고 합니다. 이미 힌트를 보여준 것 같지만, 좀 더 자세히 알아보겠습니다. Integer.parseInt(String) Java API 정의 public static int parseInt(String ..
-
문자열을 숫자로 (Integer) parseInt(String) VS valueOf(String) 문자열 -> 숫자 변환?? Java를 사용하다보면, 우리는 문자열을 숫자로 변환시켜야 하는 상황을 자주 마주합니다. 그럼 어떻게 하시나요? Java는 문자열->숫자 변환을 위해 2가지의 메소드를 제공하고 있습니다. 바로 Integer.valueOf 와 Integer.parseInt 입니다. String S = "123"; int A = Integer.parseInt(S); Integer B = Integer.valueOf(S); 코드에서 본 것처럼, 언뜻 같은 기능을 하는 2개의 메소드의 차이를 알아보려고 합니다. 이미 힌트를 보여준 것 같지만, 좀 더 자세히 알아보겠습니다. Integer.parseInt(String) Java API 정의 public static int parseInt(String .. -
[백준 Silver 4] 11656 접미사 배열 - Java 문제링크 : https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 접근 과정 : 문자열 S를 어떻게 자를지 / 접미사들을 어떻게 정렬시켜서 출력할지 두 가지만 생각하면 된다. 문자열을 자르는 방식으로는 substring 메소드와 char를 하나씩 더해주는 방법이 있다. 접미사를 정렬하는 방식에는 우선순위 큐와 배열+Arrays.sort / List+Collections.sort 가 있다. 소스 코드 및 결과 : /* 접미사 배열 */ import java.io.*; import java.util.*; public class Ma..
-
[백준 Gold 1] 2357 최솟값과 최댓값 - Java 문제링크 : https://www.acmicpc.net/problem/2357 접근 과정 : https://rays-space.tistory.com/84 [백준 Gold 1] 10868 최솟값 - Java 문제링크 : https://www.acmicpc.net/problem/10868 10868번: 최솟값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수를 찾는 것은 어려운 일이 아니다. 하지만.. rays-space.tistory.com 위 문제와 같은 같은 문제이다. 위 문제에서 사용했던 세그먼트 트리를 활용하기 위해 해당 문제를 풀게 되었다. 최솟값과 최댓값을 의미하는 세그먼트 트리를 각각 만들어서 문제를 해결했다. 소스 코드 및 결과 ..
-
[백준 Silver 3] 10825 국영수 - Java 문제링크 : https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 접근 과정 : 정렬을 위한 비교 메소드를 사용할 수 있는지 묻는 문제인것 같다. 국어, 영어, 수학, 이름 순으로 비교를 해야하고 점수는 숫자이지만 이름은 문자이다. 한번에 비교하고자, score 클래스를 만들어서 사용했다. 조건에 맞게 비교 우위를 설정하고 우선순위 큐에 집어넣어서 출력했다. 소스 코드 및 결과 : package BOJ; /* 국영수 */ imp..
-
[백준 Gold 3] 11812 K진 트리 - Java 문제링크 : https://www.acmicpc.net/problem/11812 11812번: K진 트리 첫째 줄에 N (1 ≤ N ≤ 1015)과 K (1 ≤ K ≤ 1 000), 그리고 거리를 구해야 하는 노드 쌍의 개수 Q (1 ≤ Q ≤ 100 000)가 주어진다. 다음 Q개 줄에는 거리를 구해야 하는 두 노드 x와 y가 주어진다. (1 ≤ x, y www.acmicpc.net 접근 과정 : 트리에서 부모 인덱스로 자식 인덱스를 계산하고, 자식 인덱스로 부모 인덱스를 계산하는 방식을 사용했다. 흔히 이진트리에서는 자식/2가 부모 인덱스가 되는 것처럼 이를 이용해 계산하려고 했다. 자식 인덱스를 보고 부모의 인덱스를 계산할 수 있는 방식이 필요했다. 나는 여려 계산 끝에, 부모 = (자식+K-2)/..
-
01 컴퓨터 네트워크와 인터넷 1.1 인터넷이란 무엇인가? 인터넷의 구성요소 관점 네트워킹 인프라 구조 관점 1.1.1 구성요소로 본 인터넷 인터넷 : 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크 컴퓨팅 장치 : 호스트 or 종단 시스템 ▶ 종단 시스템은 통신 링크와 패킷 스위치의 네트워크(ISP)로 연결되어 인터넷에 접속 통신 링크 : 동축 케이블, 구리선, 광케이블, 라디오 스펙트럼 등 다양한 물리매체로 구성되며, 다양한 전송률을 이용하여 데이터를 전송한다. 패킷 : 종단 시스템이 다른 종단 시스템으로 데이터를 보낼 때, 송신 측은 그 데이터를 세그먼트로 나누고 각 세그먼트에 헤더를 붙임 → 이러한 정보 패키지가 패킷! 패킷 스위치 : 입력 통신 링크로 도착하는 패킷을 받아서 출력 통신 링크로 전달. 라우터는..
반응형