일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- homebrew
- sort정렬
- HashMap
- 포맷 지정자
- 코딩테스트
- MAC OS
- JDK
- 깃허브
- Java
- OAuth 인증
- 가격이 제일 비싼 식품의 정보 출력하기
- 프로그래머스
- mysql
- 해시
- github
- 자바
- Iterator
- M1
- 핸드폰 가리기
- 안드로이드 스튜디오
- 맥북
- Eclipse
- 노선별 평균 역 사이 거리 조회하기
- 27866
- 프로그램서
- Android Studio
- 문자열 숫자 변환
- 알고리즘
- 백준
- SQL코딩테스트
Archives
- Today
- Total
개발일지
[Java] 배열 복사 (copyOf(), copyOfRange()) 본문
728x90
알고리즘 문제를 푸는데 결과값이 [1, 2]로 출력해야 하는데 [1, 2, 0, 0, 0]으로 출력되는 오류가 있었다.
뒤에 0들을 어떻게 제거할 수 있을까 생각했다.
- substring
첨엔 substring을 사용하려고 했는데 substring은 배열로 출력되지 않아 맞지 않다고 판단 되었다.
그래서 찾은게 copyOf()다.
1. copyOf()
Array.copyOf([배열], [원하는 길이]);
int[] arr = {1, 2, 3, 4, 5, 6};
int[] arr2 = Arrays.copyOfRange(arr, 1, 3);
System.out.println(Arrays.toString(arr2));
출력: [1, 2, 3]
2. copyOfRange()
Array.copyOfRange([배열], [시작지점], [끝지점]);
int[] arr = {1, 2, 3, 4, 5, 6};
int[] arr2 = Arrays.copyOfRange(arr, 1, 3);
System.out.println(Arrays.toString(arr2));
출력: [2, 3]
* 시작지점부터 끝지점 앞까지 출력됨! 꼭 한 번 더 확인할 것!!
728x90
'Java > 알고리즘 공부' 카테고리의 다른 글
[백준 JAVA] 11718번: 그대로 출력하기 (0) | 2023.03.19 |
---|---|
[백준 JAVA] 11654번: 아스키 코드 / charAt() (0) | 2023.03.14 |
[백준 JAVA] 9086번: 문자열 / Buffer, flush (0) | 2023.03.14 |
[백준 JAVA] 27866번: 문자와 문자열 / substring() (0) | 2023.03.14 |
[백준 JAVA] 10807번: 개수 세기 / 10871번: X보다 작은 수 / 10818번: 최소, 최대 / 2562번: 최댓값 /5597번: 과제 안 내신 분...? (0) | 2023.01.31 |
Comments