반응형

2024/06 26

Map이란?

오늘은 Map이라는 인터페이스에 대해서 설명하는 글을 써보도록 하겠습니다. 제가 여태까지 알고리즘을 풀며, 가장(?) 재밌게 그리고 자주 풀어봤다고 느낀 것이 바로 map을 활용한 문제였던 것 같습니다. 하지만 정작 자세한 내용을 알지는 않고 두루뭉술하게 알고 있다고 생각해서 공부하게 되었습니다. 그러면 바로 글 시작해보도록 하겠습니다. Map이란?자바 컬렉션 프레임워크에서 제공하는 인터페이스."키 - 값" 쌍으로 데이터를 관리하는 자료구조를 표현.대표적인 구현체 : HashMap, TreeMap, LinkedHashMap etc주요 특징Key - Value : Map은 각 요소가 하나의 키와 그에 대응하는 값으로 구성. Key는 중복될 수 없으며(unique), Value는 중복될 수 있음.인터페이스 ..

자료구조 2024.06.19

Scanner VS BufferedReader 의 차이

백준, 정올, 프로그래머스 등 다양한 사이트에서 알고리즘 문제를 풀다 보면 입력값을 토대로 결과값을 도출해내는 게 거의 대다수를 차지한다는 것을 알고 계실 것이라 생각합니다. 그렇다면 혹시 여러분들은 입력 받으실 때, scanner를 많이 쓰시나요, 아니면 bufferedReader를 많이 쓰시나요? 이런 것도 사용하실 때 각각의 특징, 차이점과 유용성을 알아야 된다고 생각하여 이번 글에서 설명해보도록 하겠습니다. BufferedReader이란?문자 입력 스트림에 버퍼링 기능을 제공하는 클래스.입력 소스로부터 데이터를 효율적으로 읽어오기 위해 사용.주로 파일, 네트워크 연결 등의 입력 소스에서 데이터를 읽어올 때 유용하게 사용됨.BufferedReader의 주요 특징?버퍼링을 통해 효율적으로 읽어올 수 ..

Java Study 2024.06.19

Integer VS int 의 차이

혹시 여러분들 Integer와 int 의 차이에 대해서 궁금해하시거나 차이점을 알고 계신가요~?문득 알고리즘과 자바 공부를 하며 갑자기 궁금증이 생겨 이렇게 글을 작성해봅니다.찾아보니 자바(Java)에서 Integer와 int는 모두 정수를 다루는 데 사용되지만, 그 사용 방식과 특성에는 중요한 차이가 있습니다.아래에서 각각의 설명과 차이점을 자세히 설명해보겠습니다. int란?int는 자바의 기본 데이터 타입(primitive data type)으로, 32비트 정수를 저장함.int의 특징?기본 타입(Primitive Type) : int는 자바의 8가지 기본 데이터 타입 중 하나. 기본 타입은 객체가 아니므로, 추가적인 메서드나 속성을 가지지 않음.int a = 10;int b = 20;int sum =..

Java Study 2024.06.18

Java 조건문과 반복문

알고리즘과 프로젝트를 진행하시다 보면, 입력 받은 값이나 데이터를 자신이 원하는 목적에 맞게 걸러내고 검증하는 단계를 거쳐야 하는 경우가 있습니다. 그럴 경우에 자주 쓰이는 것이 바로 조건문과 반복문입니다. 오늘은 조건문과 반복문에 어떤 종류가 있는지, 그리고 어떤 형식으로 만들어져서 실행되는지 알아보도로 하겠습니다. 코드 실행 흐름 제어(코드가 실행되는 흐름 제어하기)실행 흐름 : main() 메소드의 시작 중괄호({)에서 끝 중괄호(})까지 위부터 아래로 실행되는 흐름.흐름 제어문 : 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것.루핑 : 반복문이 실행 완료된 경우, 제어문 처음으로 다시 되돌아가 반복실행되는 것.조건문반복문if문, switch문for문, while문, do-whil..

Java Study 2024.06.18

Maven 과 Gradle의 차이

혹시 다들 인텔리제이에서새로운 프로젝트를 생성하실 때, 이렇게 3가지로 분류되어 있는 것을 보신 적이 있으실까요? 저는 여태까지 그 차이점도 모르고, 이것이 왜 나누어져 있는지도 모르고, 의미하는게 무엇인지도 모르고, 그냥 IntelliJ로만 해왔습니다. 그러다가 어제 새로운 프로젝트를 생성함에 있어서 제대로 공부를 하기 위해서 한번 찾아보고 이렇게 글을 작성하게 되었습니다.그러면 각각이 무엇을 의미하는지, 그리고 특징들에 대해선 무엇이 있는지 알아보도록 하겠습니다. IntelliJ IDEA란?JetBrains에서 만든 IDE로 개발 퍼포먼스 향상에 최적화된 tool입니다.IntelliJ IDEA의 장점?통합 개발 환경(IDE) : IntelliJ IDEA는 Java를 비롯한 여러 프로그래밍 언어를 지원..

Java Study 2024.06.17

[자바]Programmers - 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기

이번에 풀게 된 문제는 "프로그래머스"라는 사이트에서 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 문제입니다.Lv. 1에 정답률은 38% 저에게는 개인적으로 조금 어려운 정도에 속하는 걸로 느껴졌습니다.(아직 갈 길이 멀겠군요..ㅜㅡㅜ)그러면 제가 풀었던 문제에 대해 설명부터 하며 글 시작해보겠습니다. 문제 설명신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다.한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.k번 이..

알고리즘 2024.06.17

HashSet이란?

이번 글에서는 제가 백준과 프로그래머스에서 알고리즘을 풀며 자주 나오는 HashSet에 대해서 알려드리는 글을 써보려고 합니다.이 자료구조는 많은 코딩테스트에도 등장하기도 하니, 많은 분들도 학습하셔서 완벽히 자기 자신의 것으로 만들어가는 시간 가지셨으면 좋겠습니다. HashSet이란?Java에서 제공하는 데이터 구조 중 하나로, 중복된 요소를 허용하지 않고 순서를 보장하지 않는 컬렉션.HashSet의 장점?중복 요소 제거 : HashSet은 내부적으로 해시 테이블을 사용하여 요소들을 저장하여, 동일한 요소를 중복해서 추가할 수 없음. 이미 존재하는 요소를 추가하거나 삽입하는 경우 무시됨.빠른 검색 속도 : HashSet은 해시 테이블 기반으로 하여 평균적으로O(1)의 시간복잡도로 요소에 접그할 수 있음..

자료구조 2024.06.17

HashMap이란?

이번 글에서는 제가 백준과 프로그래머스에서 알고리즘을 풀며 자주 나오는 HashMap에 대해서 알려드리는 글을 써보려고 합니다.이 자료구조는 많은 코딩테스트에도 등장하기도 하니, 많은 분들도 학습하셔서 완벽히 자기 자신의 것으로 만들어가는 시간 가지셨으면 좋겠습니다. HashMap이란?Java에서 제공하는 데이터 구조 중 하나로, Key - Value 쌍을 저장하는 자료구조.주로 검색, 삽입, 삭제, 업데이트 연산을 빠르게 수행할 수 있음.HashMap의 장점?Key - Value 구조 : 각 요소는 Key와 Value로 구성되어 있음. 또한, Key는 중복될 수 없고, Value는 중복될 수 있음.빠른 검색 속도 : HashMap은 해시함수를 사용하여 요소를 저장하고 검색하기 때문에, 평균적으로 O(1..

자료구조 2024.06.17

Java 연산자

이전 글에서 각각의 데이터 종류와 메모리 크기 등을 알아보았었습니다.그러면 원하는 변수에 값을 할당하고 목표에 맞는 연산을 하기 위해서 쓰이는 다양한 연산자에 대해서 알아보도록 하겠습니다. 부호 연산자부호 연산자는 변수의 부호를 유지하거나 변경한다.연산식설명+피연산자피연산자의 부호 유지-피연산자피연산자의 부호 변경 증감 연산자증감 연산자는 변수의 값을 1 증가시키거나 1 감소시킨다.연산식설명++피연산자피연산자의 값을 1 증가시킴--피연산자피연산자의 값을 1 감소시킴피연산자++다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴피연산자--다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 산술연산자더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)로 총 5개연산식설명피연산자+피연산자덧셈 ..

Java Study 2024.06.17

JVM(Java Virtual Machine)의 실행 과정

지난 글에 이어서 오늘도 JVM에 대해서 글을 작성해보도록 하겠습니다.지난번에는 JVM이 무엇인지와 그 안의 구조에 대해서 알아보았고, 또한 그 나누어진 구조에서 무엇을 진행할 수 있는지 알아보았습니다.그렇다면 이제 밥을 먹기 위해 숟가락이랑 젓가락이 뭔지 파악한 것이니, 어떻게 하면 밥을 먹는지, 그 JVM의 실행 과정에 대해서 알아보겠습니다. JVM 실행 과정?로드(Loading):클래스 로더가 클래스 파일을 읽어들이고, 해당 클래스의 바이너리 데이터를 메모리에 로드합니다.로드된 클래스들은 Method Area에 배치됩니다.검증(Verification):클래스 파일의 유효성을 검사합니다. 예를 들어, 올바른 바이트 코드 구조와 메모리 접근 권한 등을 확인합니다.준비(Preparation):클래스가 필..

Java Study 2024.06.16
반응형