반응형

분류 전체보기 151

자바 배열 정렬하기(오름차순, 내림차순)

Arrays.sort()메서드의 매개값으로 기본 타입 배열이나 String배열을 지정해주면 자동으로 오름차순 정렬이 됩니다 오름차순 정렬 Arrays.sort()메서드의 매개값으로 기본 타입 배열이나 String배열을 지정해주면 자동으로 오름차순 정렬이 됩니다. ex.) int arr[] = {4,23,33,15,17,19}; Arrays.sort(arr); 내림차순 정렬 배열을 내림차순으로 정렬할 때는 Collections 클래스의 reverseOrder() 함수를 사용하면 됩니다. 만약 기본 타입 배열을 내림차순으로 정렬하고 싶다면 기본 타입의 배열을 래퍼클래스로 만들어 Comparator를 두번째 인자에 넣어주어야 역순으로 정렬할 수 있습니다. String arr[] = {"apple","orang..

JAVA 2022.01.03

[백준]10773번 제로 [JAVA]

스택을 이용하여 푸는문제 나처럼 알고리즘 공부를 시작하는 알린이용 문제다. 자바에서 기본으로 지원해주는 Stack을 이용했다. 1.첫줄에 입력되는 정수k를 받아준다 2.for문으로 k횟수만큼 반복한다. 3.Int타입의 변수number를 이용해 정수를 받아준다. 4.if문을 이용해 3에서 받아준 정수가 0일경우 Stack의 pop 을 0을 제외하고는 push(number)을 해준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java...

컴포넌트와 모듈의 차이

참고 : https://imcreator.tistory.com/7 컴포넌트 컴포넌트 개념의 유래 많은 하드웨어 제품들은 각각 독립된 기능을 가진 모듈로 만들어진다. 이 제품들은 회사 상관없이 서로 조합하여 하나의 제품이 만들어진다. 이러한 제품들의 부품은 문제가 발생했을 시, 해당 부품만 다른 부품으로 바꾸어도 제품은 문제없이 작동한다. 컴퓨터와 스마트폰과 같은 제품들을 상상해보면 금방 이해가 갈것이다. 반면에, 소프트웨에 에서는 상황이 틀리다. 소프트웨어를 독립적으로 개발되지 않은 경우가 많을 뿐더러, 독립적으로 개발되어도 다른 모듈과의 호환을 생각하지 않고 개발한다. 이는 결국 소프트웨어의 재사용을 어렵게 하고 유지보수 비용이 크게 증가하는 원인이 된다. 이러한 상황에서 소프트웨어의 재사용의 중요성 ..

프로젝트 공부 2021.12.01

[JAVA] static과 인스턴스(Instance)

Static static은 변수를 선언하거나 메소드를 생성할때 같이 붙여준다. 이렇게 생성한 변수는 "프로그램이 실행될 때 Java메모리에 할당되며, 이는 프로그램이 종료될 때 해제된다" 이 뜻은 해당 클래스의 객체를 생성하지 않고도 static자원에 접근이 가능하다는 뜻! Calculator라는 클래스가 있다. num1이란 변수와 Add()라는 메소드를 static으로 선언하였고, num2는 static이 없다. 기본적으로 Calculator라는 클래스 내부의 자원에 접근하려면 아래처럼 해당 클래스의 인스턴스(객체)를 생성해야 한다. 하지만 static을 사용하게 되면 위와 같이 인스턴스(객체)를 생성하기 전에 메모리에 static변수가 할당되어 인스턴스를 생성하지 않아도 된다. 위와 같이 이미 메모리..

JAVA 2021.11.11

StringBuilder 는 왜 사용할까? 어떻게 사용하는가?

-String은 새로운 값을 할당할 때마다 새로 생성된다. -StringBuffer는 값은 memory에 append하는 방식으로 클래스를 직접생성하지 않는다. (논리적으로 따져보면 클래스가 생성될 때 method들과 variable도 같이 생성되는데, StringBuffer는 이런 시간을 사용하지 않는다.) 이는, 수십번 String이 더해지는 경우에는 각 String의 주소값이 stack에 쌓이고 클래스들은 Garbage Collector가 호출되기 전까지 heap에 지속적으로 쌓이게 된다. 메모리 관리적인 측면에서는 치명적이라고 볼 수 있다. String에서 저장되는 문자열은 알고보면 char의 배열형태로 저장되며 이 값들은 외부에서 접근할 수 없도록 private으로 보호된다. 또한 final형이..

카테고리 없음 2021.11.04

[백준]10828 스택 /자바/JAVA

스택은 기본 원칙이 '후입선출(LIFO : Last in First out)' 이다. 말 그대로 '나중에 들어온 것이 먼저 들어오는 방식'이다. 먼저 들어온 것은 가장 아래에 있고, 가장 아래에 있는만큼 가장 나중에 빠져나오게 된다. 그리고 데이터를 추가하는 작업을 push 라고 한다. 또한 데이터를 삭제하는 작업을 pop 이라고 한다. 이를 토대로 메서드를 구현하였다. 1 2 3 4 5 public class Stack10828 { private static int[] arr; //스택을 담는 배열 private static int str=0; //스택포인터 } Colored by Color Scripter cs str은 스택 포인터로 스택에 쌓여있는 데이터의 수를 나타낼 것이다. 시작값 = 0 배열 ..

반응형