해커랭크 - https://www.hackerrank.com/
Prepare > Java > Data Structures > Java 1D Array
배열은 연속적인 메모리 블록에 데이터 모음을 저장하는 데 사용되는 간단한 데이터 구조입니다. 컬렉션의 각 요소는 인덱스를 사용하여 액세스되며 메모리에 순차적으로 저장되기 때문에 요소를 쉽게 찾을 수 있습니다.
배열의 요소 컬렉션은 큰 데이터 블록으로 저장되기 때문에 일반적으로 얼마나 많은 데이터 조각을 갖게 될지 정확히 알 때 배열을 사용합니다. 예를 들어, 배열을 사용하여 학생 ID 번호 목록이나 주의 수도 이름을 저장할 수 있습니다. 4개의 정수 값을 보유할 수 있는 myArray라는 정수 배열을 만들려면 다음 코드를 작성합니다.
int[] myArray = new int[4];
이것은 4개의 정수를 저장할 수 있는 메모리 블록을 따로 설정합니다. 각 정수 저장 셀에는 0에서 배열 크기보다 1 작은 범위의 고유 인덱스가 할당되며 각 셀은 처음에 0을 포함합니다. myArray의 경우 인덱스 0, 1, 2 및 3에 정수를 저장할 수 있습니다. 마지막 셀이 숫자 12를 저장하기를 원한다고 가정해 봅시다. 이를 위해 다음과 같이 작성합니다.
myArray[3] = 12;
마찬가지로 다음 코드를 사용하여 마지막 셀의 내용을 인쇄할 수 있습니다.
System.out.println(myArray[3]);
위의 코드는 myArray의 인덱스 3에 저장된 값, 즉 12(이전에 저장한 값)를 출력합니다. Java가 정수 배열의 각 셀을 0으로 초기화하지만 모든 언어가 이 작업을 수행하는 것은 아닙니다.
Task
편집기의 코드는 다음을 수행합니다.
- stdin에서 정수를 읽고 정수의 수를 나타내는 변수 n에 저장합니다.
- stdin에서 a₀, a₁, ... , aₙ₋₁에 해당하는 n개의 정수를 읽고 각 정수 aᵢ를 변수 val에 저장합니다.
- a라는 정수 배열의 각 요소를 인쇄하려고 시도합니다.
편집기의 잠금 해제된 부분에 다음 코드를 작성합니다.
- n개의 정수를 담을 수 있는 배열 a를 만듭니다.
- 루프의 코드를 수정하여 각 순차적 값을 배열의 해당 위치에 저장합니다. 예를 들어 첫 번째 값은 a₀에 저장해야 하고 두 번째 값은 a₁에 저장해야 하는 식입니다.
Input Format
- 첫 번째 줄에는 배열의 크기를 나타내는 단일 정수 n이 있습니다.
- n개의 후속 라인의 각 라인 i는 요소 aᵢ의 값을 나타내는 단일 정수를 포함합니다.
Output Format
stdout에 출력할 책임이 없습니다. 편집기의 잠긴 코드는 배열 a를 반복하고 각 순차 요소를 새 줄에 출력합니다.
Sample Input
5
10
20
30
40
50
Sample Output
10
20
30
40
50
Explanation
각 정수를 해당 인덱스에 저장하면 a = [10, 20, 30, 40, 50]이 됩니다. 잠긴 코드는 왼쪽에서 오른쪽으로 새 줄에 각 배열 요소를 인쇄합니다.
Code
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int a[] = new int[n];
for (int i = 0; i < a.length; i++) {
a[i] = scan.nextInt();
}
scan.close();
// Prints each sequential element in array a
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java Subarray (0) | 2023.09.26 |
---|---|
[해커랭크(HackerRank) JAVA 풀이] - Java 2D Array (0) | 2023.09.25 |
[해커랭크(HackerRank) JAVA 풀이] - Java BigInteger (0) | 2023.09.22 |
[해커랭크(HackerRank) JAVA 풀이] - Java Primality Test (0) | 2023.09.21 |
[해커랭크(HackerRank) JAVA 풀이] - Java BigDecimal (0) | 2023.09.20 |