java 16

[CS 스터디 회고] JAVA 면접 질문 대비

KB IT's Your Life 를 진행하면서 CS 스터디를 진행하고 다시 복습을 하면서 정리를 한다.또한 추가 적으로 생긴 질문들 중 몇가지를 정리 해보았다.  1. JVM이 정확히 무엇이고, 어떤 기능을 하는지 설명해 주세요.JVM이란 OS에 종속 받지 않고 CPU가 Java를 인식 실행할 수 있도록 하는 가상 컴퓨터 환경입니다. 자바를 실행하고 관리하는 중요한 구성 요소로서 가비지 컬렉터, 바이트 코드 실행, 보안관리, 라이브러리 관리 등의 기능을 제공합니다. JVM은 javac에 의해 소스코드에서 바이트 코드로 변환되는데 각 운영체제마다 JVM구현체가 존재하여 이 바이트 코드를 실행할 수 있습니다. 덕분에 자바는 플랫폼 독립성을 가질 수 있습니다. 또한 객체가 더 이상 사용되지 않으면 자동으로 메..

Java 2024.11.08

JAVA JVM Memory 정리

우선 JVM이란 자바를 실행시키기 위한 가상 컴퓨팅 환경이다.이전에 배울때에는 OS역할을 한다고 해서 OS위에 JVM이 하나 더올라가는 것으로 이해했었다. 하지만 이번에 JVM을 공부하면서 알게 된것은자바 어플리케이션을 실행하게 되면 JVM이 하나의 프로세스로 돌아가게 되고GC나 여러 기능들이 스레드로 동작하게 된다. 우선 우리가 JAVA 소스코드를 작성하고 javac와 같이 자바 컴파일러로 컴파일하게 되면 class파일이 생성된다.이 class파일을 JVM이 Class Loader를 통해 클래스 파일을 읽어 들인다. 이 클래스 파일안에 어떤 필드가 몇개고, 메소드가 몇개인지 바이트코드 까지 포함하여 클래스에 대한 모든 정보가 들어있다. 이 클래스 파 일 정보를 Method Area에 올려 검증하고 st..

Java 2024.07.08

백준 4949번 균형잡힌 세상 - 자바(Java)

문제 링크https://www.acmicpc.net/problem/4949   1. 문제 문제이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 깨고 말았다. 안타깝게도 자는 동안 키보드가 잘못 눌려서 보고서의 모든 글자가 A와 B로 바뀌어 버렸다! 그래서 평석이는 보고서 작성을 때려치우고 보고서에서 '좋은 단어'나 세보기로 마음 먹었다.평석이는 단어 위로 아치형 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 쌍을 짓기로 하였다. 만약 선끼리 교차하지 않으면서 각 글자를 정확히 한 개의 다른 위치에 있는 같은 글자와 짝 지을수 있다면, 그 단어는 '좋은 단어'이다...

알고리즘/백준 2024.06.26

백준 1926 번 그림 -자바(Java)

https://www.acmicpc.net/problem/1926 문제어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다.입력첫째 줄에 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. 두 번째 줄부터 n+1 줄 까지 그림의 정보가 주어진다. (단 그림의 정보는 0과 1이 공백을 두고 주어지며, 0은 색칠이 안된 부분, 1은 색칠이 된 부분을 의미한다)출력첫째 줄에는 그림의 개수, 둘째 줄에..

알고리즘/백준 2024.05.10

프로그래머스 가장 많이 받은 선물 - 자바(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 머릿속으로 풀려고 하니 너무 헷갈렸다.;; 선물을 준 횟수를 적어둔 map을 만들고 각 끝에는 받은 갯수와 선물을 준 갯수를 카운트 해놓는다. 그 뒤 for문을 돌며 준횟수가 같다면(둘다 0일때도 처리된다.) 지수를 비교한뒤 카운트를 늘리고 i가 더많이 준 경우일때에도 카운트를 늘려 가장 많이 받은 갯수를 저장한다. import java.util.*; class Solution { public ..

프로그래머스 2024.04.08

99클럽 코테 스터디 1일차 TIL + 프로그래머스 체육복(자바)

https://school.programmers.co.kr/learn/courses/30/lessons/42862# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 먼저 문제를 보면 중요하다고 생각한 요소는 체육수업을 들을 수 있는 학생의 최댓값을 return 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다 이에 lost를 기준으로 reserve에 앞뒤 번호가 있는지 찾거나 reserve를 기준으로 앞뒤로 lost에 번호가 있는지 찾을 수 있다고 생각했고 lost를 기준으로 하기로 생각하였다. 또한 count라는 변수를 만들어 ..

프로그래머스 2024.03.30

SWEA 1954. 달팽이 숫자 Java

문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&problemLevel=4&contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=4&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 한바퀴 회전을 하나의 함수로 만들고 재귀(recursion)을 하여 풀었다. 생각은 ..

SWEA 2023.11.05

SWEA 1859 백만 장자 프로젝트

문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 매 테스트 케이스 마다 N일 동안 물건의 가격이 주어지고 싼날에 사서 비산날에 파는 구조이다. 첫날 부터 마지막 날까지 비싼 가격에서 싼가격으로 끝나면 이익을 볼수 없으므로 0의 이익을 취하게 되고 3일동안 1,2,3의 매매가라면 1에서 하나사고 2에서 하나사서 3에 팔아 3의 이익을 얻을 수 있다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.uti..

SWEA 2023.11.03

Java Stream filter, forEach

filter는 Stream의 가공하기 단계에, forEach는 결과만들기 단계에 해당한다. 우선 forEach는 배열이나 컬랙션의 각요소들에 대하여 실행하는 것이다. 주로 System.out.println()을 이용하여 각요소들을 출력하는데 사용된다. 그리고 filter는 if문과 비슷하다고 느꼈다. 안에 조건을 넣고 해당 조건과 일치하는 요소들만 forEach에서 주어진 코드를 실행하도록 할 수 있다. private final List cars = new ArrayList(); cars.stream().filter(car -> car.getDistance() == distance).forEach(car ->{ System.out.println(car.get()); }) cars안의 들어있는 요소는 Ca..

Java/Stream 2023.11.02

SWEA 1221 [S/W 문제해결 기본] 5일차 - GNS

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14jJh6ACYCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제는 어느 행성에서 사용하는 숫자체계인 "ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN" 을 임의의로 섞어서 주어지는데 작은수 부터 차례로 정렬하는 것이다. "TWO NIN TWO TWO FIV FOR" 가 주어지면 "TWO TWO TWO FOR FIV NIN" 로 바꾸는 것이다. 처음에는 몇번의 테스트 케이스가 주어지는 지..

SWEA 2023.10.30
반응형