> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java 1D Array

jini:) 2023. 9. 23. 09:00
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Data Structures > Java 1D Array
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

배열은 연속적인 메모리 블록에 데이터 모음을 저장하는 데 사용되는 간단한 데이터 구조입니다. 컬렉션의 각 요소는 인덱스를 사용하여 액세스되며 메모리에 순차적으로 저장되기 때문에 요소를 쉽게 찾을 수 있습니다.

배열의 요소 컬렉션은 큰 데이터 블록으로 저장되기 때문에 일반적으로 얼마나 많은 데이터 조각을 갖게 될지 정확히 알 때 배열을 사용합니다. 예를 들어, 배열을 사용하여 학생 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

편집기의 코드는 다음을 수행합니다.

  1. stdin에서 정수를 읽고 정수의 수를 나타내는 변수 n에 저장합니다.
  2. stdin에서 a₀, a₁, ... , aₙ₋₁에 해당하는 n개의 정수를 읽고 각 정수 aᵢ를 변수 val에 저장합니다.
  3. a라는 정수 배열의 각 요소를 인쇄하려고 시도합니다.

편집기의 잠금 해제된 부분에 다음 코드를 작성합니다.

  1. n개의 정수를 담을 수 있는 배열 a를 만듭니다.
  2. 루프의 코드를 수정하여 각 순차적 값을 배열의 해당 위치에 저장합니다. 예를 들어 첫 번째 값은 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]);
        }
    }
}

 

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형