Banner

My Tech Blog (자바)

오늘의 명언
📑 1. 문제설명 💡 2. 풀이과정매개변수로 받은 numlist[]를 가변형 list로 변환순환하며 n%list(i) 값이 0이 아니면 리스트에서 제거list를 다시 배열로 변환해서 반환제출한 코드(컴파일 오류)import java.util.*;class Solution { public int[] solution(int n, int[] numlist) { ArrayList list = Arrays.asList(numlist); for(int i = 0; i 1. Arrays.asList(numlist) 오류numlist는 int[]이므로, Arrays.asList(numlist)는 List가 된다.→ 원하는 건 List인데, primitive type인 int는 boxi..
📑 1. 문제설명 입출력 예 설명입출력 예 #129183에서 1은 3번째에 있습니다.입출력 예 #2232443에서 4는 4번째에 처음 등장합니다.입출력 예 #3 123456에 7은 없으므로 -1을 return 합니다.💡 2. 풀이과정목표는 정수 num에서 숫자 k와 같은 자릿수를 찾아 1-based 인덱스를 반환하는 것이다. class Solution { public int solution(int num, int k) { String numToString = Integer.toString(num); char[] arr = numToString.toCharArray(); char kToChar = (char) (k + '0'); int idx = ..
📑 1. 문제설명 💡 2. 풀이과정Set을 사용하던지 이중 for문 돌려서 풀면 된다. Set은 중복을 허용하지 않고, 검색 속도가 빠르기 때문에 비교 대상인 s1을 Set으로 변환하면 s2의 각 원소가 포함되어 있는지 빠르게 확인할 수 있다. 그리고 이중 for문 으로 풀 때는 중복 카운트 피하려면 `break;` 를 써야 한다. 👨‍💻 3. 정답코드Set으로 푼 코드import java.util.*;class Solution { public int solution(String[] s1, String[] s2) { Set set = new HashSet(Arrays.asList(s1)); int cnt = 0; for (String str : s2) {..
· Java
1. JVM (Java Virtual Machine) 이란?JVM은 OS를 대신해서 컴파일된 자바 바이트 코드를 실행하는 가상의 운영체제이다. 즉, OS에 종속받지 않고 CPU가 JAVA를 인식, 실행할 수 있게 하는 가상 컴퓨터이다.JVM에 의해 JAVA는 '운영체제에 독립적'이라는 장점을 가진다. JVM은 자바 언어에서만 사용하는 것이 아니다. 코틀린, 스칼라 언어에서도 JVM 동작 방식을 그대로 따른다.JVM의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행하는 것이다. 2. 자바 코드가 컴파일 되는 과정위의 동작처럼 Java 소스코드, 즉 원시코드(*.java)는 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해줘야 한다.이 때, Java는 이 JVM 이라는 가상머..
· Java
자바의 Error, Exception에 대해 알아보려 한다. 이 글을 쓰는 이유는 원래 Runtime Exception에 대해 설명하기 위해서이다. RuntimeException (런타임 예외)은 반드시 예외 처리를 하지 않아도 된다.자바에서는 예외를 두 가지로 나눈다.Checked Exception (검사 예외): Exception을 상속하지만 RuntimeException은 상속하지 않은 예외들 → 반드시 try-catch나 throws로 처리해야만 한다.Unchecked Exception (비검사 예외): RuntimeException을 상속한 예외들 → 컴파일러가 강제하지 않아서 꼭 처리하지 않아도 된다.// RuntimeException 계열 (Unchecked) - 꼭 처리 안 해도 됨thro..
· Java
🍩 용어 정리JDK : Java Development Kitbin : binary폴더. 보통 실행파일을 bin이라고 함Java.exe : cmd에 java라고 치면 실행되는 파일javac.exe : cmd에 javac라고 치면 실행되는 파일. java파일을 컴파일하여 class파일로 만들 때 사용한다.💡 "javac"는 "java" (자바) + "c" (씨) = "자바 씨"풀어서 말하면 "Java Compiler"의 약자라서, 자연스럽게 "자바 씨"라고 부른다. 🚀 Java라고 명령을 내렸을 때 일어나는 일✅ java 파일이 어디서든 실행되는 이유👉 환경변수(Path) 덕분! `Path` : 명령어(java, javac 등)를 어디서든 찾을 수 있게 해주는 환경변수. 설정 방법 :내 컴퓨터 →..
· Java
자바가 자바 가상 머신(JVM) 위에서 실행된다는 것은 익히 알려진 사실이다. 이클립스를 다운로드할 때는 이클립스 버전에 호환되는 JDK도 함께 설치한다.또한, 이클립스 설정에서 [Installed JREs]에서 JRE를 추가하면서, 기존에 두루뭉술하게 알고 있던 JDK와 JRE의 차이가 궁금해졌다.그래서 오늘은 개념을 명확히 정리해보고자 한다.  1. JDK vs JRE vs JVM 차이진짜 간단히 요약하면  자바로 개발할 때 → JDK 필요 (컴파일러 포함)그냥 실행만 할 때 → JRE만 있어도 됨실제 실행 담당 → JVM 위에서 돌아감...  JRE는 실행용, JDK는 개발용이라고 이해하면 쉽다. ■ JDK (Java Development Kit)`.java` 파일을 `.class(바이트코드)`로 ..
📑 1. 문제설명💡 2. 풀이과정문제에서 매개변수는 이용자 ID가 담긴 `id_list`, 각 이용자가 신고한 이용자의 ID가 담긴 문자열 배열 `report`, 그리고 정지 기준이 되는 신고 횟수 `k` 이다. 구하고자 하는 것은 각 유저별로 처리 결과 메일을 받은 횟수를 배열 형식으로 리턴하는 것이다. 이것을 Canva로 그림으로 나타내보면 아래와 같다.  muzi를 신고한 사람 : apeach (1)frodo를 신고한 사람 : muzi, apeach (2)apeach를 신고한 사람 : 없음 (0)neo를 신고한 사람 : muzi, frodo (2)해시맵으로 푸는 문제라는 걸 알 수 있다. 키는 신고를 당한 유저, 값은 신고한 유저로 구성하면 된다. 이 때 문제에 `한 유저를 여러 번 신고해도 신..
상단으로