본문 바로가기

Java

(43)
[프로그래머스] 점 찍기 (Lv. 2) https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 범위 내 모든 좌표를 구하고, a==0 || b==0 인경우 각각 a*k
[프로그래머스] 소수만들기 (Lv. 1) https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 소수 판별 메소드 - 소수 추출 메소드 배열 합 범위 내에서 소수들 list 만들었는데 그래서 코드가 길어진듯..? package Programmers; import java.util.ArrayList; import java.util.List; public class PrimeNum2 { public static void main(String[] args) { List list = new Ar..
[자바기초] JIT Compiler JVM (자바 가상 머신) 에서 사용되는 실행 엔진(Execution Engine)의 구성 요소 중 하나. 인터프리터와 함께 작동하여 자바 프로그램의 성능을 향상시킴. - 인터프리터 (Interpreter) 컴파일러에 의해 변환된 바이트 코드를 한줄씩 읽고 실행하는 역할을 하는 컴포넌트. => 초기실행 빠름 / 반복 작업이 많은 코드의 경우 성능이 떨어짐. - JIT Compiler (Just-In-Time Compiler) 인터프리터에 의해 해석된 바이트 코드를 런타임 중에 기계어로 번역하여 캐시에 저장하고, 이후에는 인터프리터를 거치지 않고 해당 부분을 직접 실행. . 즉, 프로그램 실행 중에 수행되는 코드의 실행패턴을 모니터링 하여, 자주 실행되는 코드 블록을 식별. 이 코드블럭을 기계어로 변환하여..
[코딩도장] Multiples of 3 and 5 / Paging (Lv. 1) https://codingdojang.com/scode/350?answer_mode=hide 코딩도장 프로그래밍 문제풀이를 통해서 코딩 실력을 수련 codingdojang.com Q) 10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000미만의 자연수에서 3,5의 배수의 총합을 구하라. package Codingdojang; public class Multiples { public static void main(String[] args) { // 3의 배수 + 5의 배수 - 3과5의 공배수 int sum=0; for (int i = 1; i < 1000; i++) { if(i % 3 == 0) { sum = sum + i; } if(i % 5 == 0 && i..
[코딩도장] 피보나치 수열 구하기 (Lv. 1) https://codingdojang.com/scode/461 코딩도장 프로그래밍 문제풀이를 통해서 코딩 실력을 수련 codingdojang.com Q) 피보나치 수열이란, 첫 번째 항의 값이 0이고 두 번째 항의 값이 1일 때, 이후의 항들은 이전의 두 항을 더한 값으로 이루어지는 수열을 말한다. 예) 0, 1, 1, 2, 3, 5, 8, 13 인풋을 정수 n으로 받았을때, n 이하까지의 피보나치 수열을 출력하는 프로그램을 작성하세요. F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2) (단, n>=2) package Codingdojang; import java.util.ArrayList; import java.util.List; import java.util.Scanner; p..
[자바기초] 컴포넌트와 모듈 * 컴포넌트 (Component) - 재사용 가능한, 독립적인 소프트웨어 단위 (각각 독립된 모듈) - 특정 기능을 수행하는 데 필요한 코드, 데이터, 인터페이스 등.. - 높은 응집도 / 낮은 결합도를 가져 다른 컴포넌트와 독립적으로 테스트 및 배포할 수 있어야 함. * 모듈 (Module) - 코드의 논리적이고 구성적인 부분. - 일반적으로 파일, 클래스, 함수 등과 같은 코드 구조를 지칭 - 코드를 논리적인 블록으로 나누어 구성하고, 재사용 가능하게 만들기 위한 목적. ex) 하나의 서버에서 세개의 클라이언트와 통신한다고 하면 --- Client 1 Server --- Client 2 --- Client 3 모듈의 갯수는 2개 (Server + Client) _ 실제 구현된 것 컴포넌트의 갯수는 4..
[자바기초] 자바의 자료구조 (컬렉션 프레임워크_Collection Framework) https://www.tcpschool.com/java/java_collectionFramework_concept 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com * 컬렉션 프레임워크 (Collection Framework) 자바에서 데이터를 효과적으로 저장하고 관리하기 위한 표준화된 구조와 인터페이스의 집합. java.util 패키지에서 제공. https://phyho.tistory.com/64 [ 주요 인터페이스 ] 1. List 인터페이스 : 순서가 있는 데이터를 저장, 중복된 원소 허용. ArrayList, LinkedList, Vector, Stack, Queue 등 2. Set 인터페이스 : 순서가 없는 데..
[자바기초] 제네릭(Generic)에 대해서 * 제네릭 (Generic) 자바에서 컬렉션 클래스, 메서드, 인터페이스 등을 정의할 때 타입을 일반화하여 사용할 수 있도록 하는 기능. 클래스나 메서드를 정의할 떄 구체적인 데이터 타입을 미리 지정하지 않고, 나중에 사용 시(컴파일시점) 타입을 결정. => 코드의 재사용성을 높이고, 타입 안정성 확보. * 제네릭 타입 매개변수 (Type Parameter) 실제 타입으로 대체되기 전에 사용되는 것. ( placeholder 역할 ) - (Element) : 컬렉션에서 요소를 나타내는데 사용. - (Type) : 주로 클래스나 메서드에서 사용. - (Key, Value) : 주로 맵(Map)과 관련된 제네릭에서 사용. - (Unbounded Wildcard) : 모든 타입 나타내는 와일드카드, 주로 메서..