코딩테스트는 보통 배열을 많이 활용해서 값을 구해야하고
그밖에 반복문, 조건문 등을 활용해야 하는데
일단 리스트를 사용하기 위해서는 라이브러리를 import 해줘야 한다.
그리고 리스트를 새로 생성해줘야 한다.
List<Integer> list = new ArrayList<>();
활용할만한 명령어도 알고 있어야 한다.
add(값) 리스트에 값 추가
list.add(7); //2
add(인덱스번호, 값) : 리스트의 인덱스번호에 값 추가.
해당번호에 값이 들어가고 해당번호 원래숫자 포함 뒤의 숫자들은 자리값이 1씩 증가. 뒤로 밀리는 것.
list.add(1,3); //끼워넣기. 밀어내기.
get(인덱스번호) : 리스트에서 인덱스번호의 값을 가져온다.
System.out.println(list.get(0));
remove(인덱스번호) : 리스트에서 인덱스번호를 지운다
System.out.println(list.get(0)); // 리스트는 중간이 비면 한칸식 당김.
indexOf(값) : 리스트에서 값이 있는 인덱스번호를 취득한다. 없으면 -1
System.out.println(list.indexOf(5));
contains(값) : 리스트에서 값 있는지 확인. boolean으로 결과 표시
System.out.println(list.contains(5));
set(인덱스번호, 값) : 리스트에서 인덱스번호에 값을 주어진 값으로 변경
System.out.println(list.get(1));
clear() : 리스트를 비운다
isEmpty() : 리스트가 비어있는지 확인
System.out.println(list.isEmpty());
size() : 리스트의 개수 제시
for(int data : list) { System.out.println(data); }
반복문으로 리스트 데이터 하나씩 출력하는 데 좀더 쉬운 방법 (초기값 종료값 증감값 필요없는 방법이니까)
일반적으로 오름차순 정렬 sort 하는 법은 아래와 같고
for(int i=0;i<list.size()-1;i++){
for(int j=i+1;j<list.size();j++) {
if(list.get(i)>list.get(j)){
int temp=list.get(i);
list.set(j,temp);
}
}
}
list 아니고 array의 경우 Arrays.sort() 사용해서 정렬 할 수 있는데
이건 배열로만 할 수 있어서 복잡한 문제 풀때는 리스트가 유리하니까
쓰기 어려울 수도 있을 것 같다.
-
Integer[] arr = {2,3,1,4};
Arrays.sort(arr); => 1,2,3,4
Arrays.sort(arr, Collections.reverseOrder()); => 4,3,2,1
String[] arr2 = { "고래", "다람쥐", "나비" };
Arrays.sort(arr); => "고래", "나비", "다람쥐"
Arrays.sort(arr, Collections.reverseOrder()); => "다람쥐", "나비", "고래"
그리고 그동안 나는 써보지는 않았지만 혹시 필요한 경우가 있을까 하여
올림, 버림, 반올림, 랜덤에 대해 정리해보자면
-
float a = 3.1415f;
int b = -17;
Math.ceil(값) : 올림
System.out.println(Math.ceil(a));//4.0
Math.floor(값) : 버림
System.out.println(Math.floor(a));//3.0
Math.round(값) : 반올림
System.out.println(Math.round(a));//3
이때 보면 올림, 버림은 실수로 결과가 나오고 반올림은 정수로 나온다.
Math.abs(값) : 절대값
System.out.println(Math.abs(b));//17 (마이너스도 없어짐)
Math.random() : 0.0 ~ 0.999999~~ 까지 난수(정해지지 않은수)생성
System.out.println(Math.random());//0.162723…(소수점 15개)
Math.floor(랜덤*범위)+시작값 => 올림/반올림과 달리 버림은 0.0~0.9가 되므로 0~9를 뽑아낼 수 있음.
System.out.println(Math.floor(10*Math.random())+1); => 1~10
혹은 랜덤값을 생성 가능
Random r = new Random();
r.nextInt(값) => 0 ~ 값 전까지 (값은 포함 안함) 랜덤값 출력
r.nextInt(10) + 1 => 1~10
'to be 개발자' 카테고리의 다른 글
리액트 2 기초 / 알아야할 것들 (1) function형 / Class형 / 주요 Hook useEffect / useState / event 개념 (0) | 2021.07.21 |
---|---|
리액트 1 시작하는 법(설치 프로그램 / 링크) (0) | 2021.07.19 |
리액트react 로컬json파일 불러오는법 / json data 키 불러오기 / local json file에 data 추가, 푸시 (0) | 2021.03.05 |
리액트 react / onChange / readOnly / TypeError / 입력 / 클릭 기본 셋팅 (0) | 2021.03.03 |
postgre date / select sysdate(); / select now(); (0) | 2021.03.01 |
댓글