이 영역을 누르면 첫 페이지로 이동
Arc 블로그의 첫 페이지로 이동

Arc

페이지 맨 위로 올라가기

Arc

전체 글

  • Arc
[Baekjoon] 1629: 곱셈

[Baekjoon] 1629: 곱셈

2023.03.21
문제 a^b % c를 구하는 문제이다. 풀이 내 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Q1629 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); long a = Long.parseLong(input[0]); long b = Long.parseLong(input[1]); long c ..
[Java] JVM

[Java] JVM

2023.03.20
JVM, JRE, JDK? 자바 프로그램을 개발하기 위해 이런 것들을 설치하는 과정을 거쳤을 것이다. 일단 검색한대로 설치하긴 했는데, 이것들은 전부 무엇이고 어떤 역할을 할까? 한 번 살펴보자. JVM(Java Virtual Machine) JVM(Java Virtual Machine)은 자바 가상 머신으로 자바 프로그램 실행 환경을 만들어주는 소프트웨어이다. JVM은 자바 바이트코드(.class)를 OS에 특화된 코드로 변환(interpreter, JIT compiler)하여 실행시켜준다. 이 때문에 JVM을 사용하면 모든 플랫폼에서 동작하도록 할 수 있다. 즉, 플랫폼에 영향을 받지 않는다는 말이다. 여기서 주의할 점은 Java는 어떠한 JVM에서도 동작시킬 수 있기 때문에 플랫폼에 의존적이지 않지..
[Data Structure] 트라이 트리(Trie Tree)

[Data Structure] 트라이 트리(Trie Tree)

2023.03.19
트라이 트리(Trie Tree)? 트라이 트리는 문자열 검색을 빠르게 해주는 트리 형태의 자료구조이다. radix tree, prefix tree, retireval tree 라고도 한다. 여기서 트라이(Trie)는 retireval에서 따온 단어이다. 구현 위 그래프 처럼 car, cb, do, dog라는 단어를 저장한다고 가정한다. 먼저 노드를 하나 만들어 주어야 한다. import java.util.HashMap; import java.util.Map; public class Node { private final Map children; private boolean endOfWord; public Node() { children = new HashMap(); } public Map getChildr..
[Network] TCP/IP

[Network] TCP/IP

2023.03.19
TCP/IP? 먼저 TCP/IP에 대해 살펴보기 전 다음을 보자 Internet Protocol Suite 인터넷 프로토콜 스위트(Internet Protocol Suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 모음이다. Internet Protocol Suite 중 TCP와 IP가 가장 많이 쓰이기 때문에 TCP/IP Protocol Suite 라고도 불린다. 이전 OSI 7 Layer 포스팅을 봤다면 TCP와 IP가 무엇인지 대략적으로 파악했을 것이다. 그렇다. TCP/IP는 하나의 프로토콜이 아닌 TCP와 IP를 합쳐서 부르는 말이다. 즉, TCP/IP란 IP의 주소 체계를 따라 통신하면서 TCP의 특성을 이용해 송신자와 수신자의 논리적 연결을 생성하여 신뢰성을 유지할..
[Java] "" vs new String("")

[Java] "" vs new String("")

2023.03.19
String Java에는 문자열을 쉽게 다룰 수 있는 String Class가 존재한다. 아마 객체 중에서 제일 많이 사용한 것이 무엇일까 생각해보면 거의 당연히 String 일거라 생각한다. 이렇게 많이 사용하는 만큼 사용법도 잘 알고 사용하면 금상첨화가 될 것이다. 먼저, String은 다음과 같은 방식들로 선언할 수 있다. public class Main { public static void main(String[] args) { String s1 = ""; String s2 = new String(""); } } 분명 딱 봐도 선언하는 방식이 다르다. 그런데 둘에게 차이가 없을까? 분명 어떠한 차이라도 있지 않을까? 그럼 이제부터 그 차이를 한 번 살펴보자 "" vs new String("") 위..
[Network] OSI 7 Layer

[Network] OSI 7 Layer

2023.03.19
OSI 7 Layer? OSI 7 Layer는 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층 간 상호 작동하는 방식을 정해놓은 것이다. 이는 ISO(국제표준화기구)에서 개발한 모델이다. 이렇게 계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 한눈에 파악할 수 있기 때문이다. 또한, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있다. 각 계층은 다음과 같다. 계층 이름 단위 예시 프로토콜(Protocol) 7 응용 계층 (Application Layer) Data 텔넷(Telnet), 크롬, 이메일, 데이터베이스 관리 HTTP, SMTP, SSH, FTP, Telnet, DNS 등 6 표현 계층 (Presen..
[Baekjoon] 6064: 카잉 달력

[Baekjoon] 6064: 카잉 달력

2023.03.18
문제 1 1 부터 시작하여 각각 m과 n에 대한 모듈로 연산을 진행하여 x y가 될 때 까지 몇번이 걸리는지 구하는 문제이다. 풀이 내 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Q6064 { private static StringBuilder sb; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); sb = new StringBuilder(); int t = Inte..
[Algorithm] 페르마의 소정리

[Algorithm] 페르마의 소정리

2023.03.18
페르마의 소정리? 페르마의 소정리는 피에르 드 페르마가 알아낸 정리로서, 정수론의 가장 기본이 되는 정리이다. 이 내용을 간단히 말하면, 임의의 소수 p와 서로소인 수 a에 대해, a^(p-1)을 p로 나눈 나머지는 무조건 1이라는 말이다. 예를 들어, 3^6 = 729를 7로 나누면 나머지는 1이라는 사실을 알 수 있다. 증명 이항정리를 사용한 증명 먼저 페르마의 소정리는 다음과 동치이며, n = 0일 경우는 자명하다. 이항정리에 의하면 여기서, 0 < n < p이면 은 p의 배수이다. 따라서, 는 항상 성립하는 명제이다. 같은 방법으로 도 항상 성립한다. 따라서 n일 때 성립한다 가정하면, n+1, n-1일 때도 성립한다. 즉, 모든 정수 n에 대해 이 공식이 성립한다는 것을 알 수 있다. 기약잉여계..
[Baekjoon] 17626: Four Squares

[Baekjoon] 17626: Four Squares

2023.03.17
문제 특정 숫자의 제곱수 합을 구할 때 그 수들의 최소 개수를 구하는 문제이다. 풀이 내 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Q17626 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] dp = new int[n + 1]; dp[..
[Network] 유니캐스트 / 멀티캐스트 / 브로드캐스트

[Network] 유니캐스트 / 멀티캐스트 / 브로드캐스트

2023.03.17
유니캐스트(Unicast) 가장 많이 사용하는 통신 방법으로 목적지 주소 하나만 적어서 그 PC 하나에게만 보내는 방식이다. 즉, 1:1 통신이다. 어떤 한 PC가 정보를 전송하기 위한 프레임에 자신의 맥 주소와 목적지의 맥 주소를 첨부하여 전송한다. 같은 네트워크에 있는 모든 시스템들은 그 맥 주소를 받아서 자신의 랜카드의 맥 주소와 비교하여 같다면 프레임을 받아서 처리하고, 같지 않다면 버린다. CPU에 전달하지 않고 바로 버리기 때문에 CPU에 영향을 주지 않아 성능 저하가 발생하지 않는다. 브로드캐스트(Broadcast) 브로드캐스트 도메인안에 있는 모든 PC들에게 한 번에 전송하는 방식으로, 1:N 통신이다. 브로드캐스트는 주소가 미리 정해져있으며, 유니캐스트와 다르게 브로드캐스트는 맥 주소가 ..
[OOP] 무분별한 Getter/Setter를 지양하라

[OOP] 무분별한 Getter/Setter를 지양하라

2023.03.16
무분별한 Getter/Setter를 지양하라? 우리는 보통 개발을 할 때 getter와 setter 메서드를 생성하여 자주 사용하곤한다. 그리고 매우 편리하다. 하지만 이렇게 모든 멤버변수에 대해 getter/setter를 생성하여 사용하는 것이 좋을까? 객체지향 설계 시에 이를 지양하는 것이 좋다고 한다. 왜 그럴까? Setter를 지양하라? 개발은 혼자가 아니다 setter를 무분별하게 사용하면 다른 개발자가 해당 코드를 봤을 때 값을 변경한 의도를 파악하기 힘들어진다. public static void main(String[] args) { Lotto lotto = new Lotto(List.of(1, 4, 12, 32, 40, 41)); lotto.setNumbers(List.of(13, 14, ..
[Network] 맥 주소(Mac Address)

[Network] 맥 주소(Mac Address)

2023.03.15
맥 주소(Mac Address)?맥 주소는 컴퓨터 간 데이터를 전송하기 위해 있는 물리적 주소이다. 간단히 말해 인터넷을 할 수 있는 이더넷 기반 기기에는 모두 다 하나씩 할당되어 있는 고유한 id이다. 보통 우리가 아는 컴퓨터의 주소는 ip 주소이다 그런데 맥 주소는 또 무엇일까?컴퓨터는 통신할 때 ip 주소 뿐만아니라 맥 주소도 필요하다. 우리가 흔히 아는 ip 주소는 시작점과 끝점에 해당하는 주소를 뜻한다면, 맥 주소는 물리적으로 연결되어 있는 노드와 통신할 때 사용된다. 즉, ip 주소 간의 통신은 각 라우터 홉(hop)에서 일어나는 맥 주소와 맥 주소 통신의 연속적인 과정이다.여기서 홉은 출발지와 목적지 사이에 위치한 경로의 한 부분을 말한다. 간단하게 보면 패킷이 한 라우터에서 다른 라우터로 ..
  • 최신
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 다음

정보

Arc 블로그의 첫 페이지로 이동

Arc

  • Arc의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (106)
    • Language (28)
      • C++ (0)
      • C# (0)
      • Java (28)
    • Algorithm (47)
      • Algorithm (15)
      • Data Structure (6)
      • PS (26)
    • Computer Science (22)
      • Design Pattern (1)
      • Network (14)
      • OS (7)
    • Game (0)
      • Unity (0)
    • Backend (3)
      • Spring (1)
      • JPA (2)
    • DB (0)
      • SQL (0)
    • DevOps (2)
      • AWS (0)
      • Docker (2)
      • Jenkins (0)
      • Nginx (0)
    • Software Engineering (4)
      • OOP (4)
    • AI (0)
      • Machine Learning (0)
    • Others (0)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 네트워크
  • network
  • algorithm
  • 알고리즘
  • 그래프
  • graph
  • 자바
  • java

나의 외부 링크

정보

SeoArc의 Arc

Arc

SeoArc

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © SeoArc. Designed by Fraccino.

티스토리툴바