`Array
zip` 메서드는 두 개 이상의 배열을 인덱스 기준으로 짝지어 결합합니다. 결과는 각 원본 배열의 동일 위치 요소를 포함하는 새로운 배열의 배열입니다.
`Array
zip`의 기본 동작
- 
    
기본 문법:
array1.zip(array2, array3, ...) - 
    
예시:
ruby a = [1, 2, 3] b = ["a", "b", "c"] a.zip(b) # => [[1, "a"], [2, "b"], [3, "c"]] - 
    
길이가 다른 배열 처리: 배열의 길이가 다를 경우,
zip메서드는 짧은 배열의 부족한 부분을nil로 채워 일관된 구조를 유지합니다.ruby [1, 2].zip(["a", "b", "c"]) # => [[1, "a"], [2, "b"], [nil, "c"]] 
실제 활용 사례
`Array
zip`은 데이터를 효율적으로 구조화하고 변환하는 데 활용됩니다.
- 
    
시간 구성 요소 레이블링: “09:00” 같은 시간 문자열을 파싱하여 시(hour)와 분(minute)으로 분리한 후,
zip과to_h를 사용하여{ "hour" => "09", "minute" => "00" }와 같은 해시 형태로 변환할 수 있습니다. 이는 JSON 객체 생성, 로깅, 사용자 입력 파싱 등에서 유용합니다.ruby ["hour", "minute"].zip("09:00".split(":", 2)).to_h # => { "hour" => "09", "minute" => "00" } - 
    
키와 값으로 해시 생성: 별도의 키 배열과 값 배열이 있을 때, 이들을 결합하여 해시를 생성하는 간결한 방법입니다.
ruby keys = [:name, :age] values = ["Alice", 30] keys.zip(values).to_h # => {name: "Alice", age: 30} - 
    
요소별 연산 수행:
zip메서드를map과 함께 사용하여 두 배열의 해당 요소에 대해 특정 연산을 수행할 수 있습니다. 예를 들어, 두 숫자 배열의 각 요소를 더하는 등의 작업을 간결하게 구현합니다.ruby a = [1, 2, 3] b = [4, 5, 6] a.zip(b).map { |x, y| x + y } # => [5, 7, 9]