배열 연산자
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 71번째.
Ruby는 배열을 강력한 방식으로 결합, 비교 및 조작할 수 있게 해주는 특별한 연산자들을 제공합니다. 이러한 연산자들을 사용하면 여러 배열을 동시에 쉽게 다룰 수 있습니다.
+ 연산자는 두 배열을 연결하여 새로운 배열을 만듭니다:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # 출력: 1, 2, 3, 4, 5, 6- 연산자는 첫 번째 배열에서 두 번째 배열에 나타나는 요소를 제거합니다:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # 출력: 1, 3, 5& 연산자는 두 배열에 공통으로 포함된 요소(교집합)를 반환합니다:
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # 출력: 3, 4| 연산자는 배열을 결합하고 중복을 제거합니다(합집합):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # 출력: 1, 2, 3, 4, 5이 모든 연산자들은 새로운 배열을 생성하고 원본 배열은 변경하지 않은 상태로 유지합니다.
챌린지
쉬움쉼표로 구분된 정수가 포함된 두 줄의 입력을 읽습니다:
- 첫 번째 배열 (예:
1,2,3,4,5) - 두 번째 배열 (예:
3,4,5,6,7)
다음 연산을 수행하고 각 결과를 한 줄에 하나씩 출력하세요:
- 두 배열의 연결(concatenation) 결과의 각 요소를 출력합니다 (
+사용) - 구분선으로
---를 출력합니다 - 차집합(difference) 결과의 각 요소를 출력합니다 (첫 번째 배열에서 두 번째 배열을 뺌,
-사용) - 구분선으로
---를 출력합니다 - 교집합(intersection) 결과의 각 요소를 출력합니다 (공통 요소,
&사용) - 구분선으로
---를 출력합니다 - 합집합(union) 결과의 각 요소를 출력합니다 (중복 없이 결합,
|사용)
예를 들어, 입력이 1,2,3,4,5와 3,4,5,6,7인 경우 출력은 다음과 같아야 합니다:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7입력이 10,20,30와 30,40,50인 경우 출력은 다음과 같아야 합니다:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50입력이 5,10,15와 1,2,3인 경우 출력은 다음과 같아야 합니다:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3치트 시트
Ruby는 배열을 결합, 비교 및 조작하기 위한 특수 연산자를 제공합니다:
+ 연산자는 두 배열을 연결합니다:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b # [1, 2, 3, 4, 5, 6]- 연산자는 첫 번째 배열에서 두 번째 배열에 나타나는 요소를 제거합니다:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove # [1, 3, 5]& 연산자는 교집합(공통 요소)을 반환합니다:
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b # [3, 4]| 연산자는 합집합(중복 없이 결합됨)을 반환합니다:
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b # [1, 2, 3, 4, 5]이 모든 연산자는 새로운 배열을 생성하며 원래 배열은 변경하지 않은 상태로 유지합니다.
직접 해보기
# 입력 배열 읽기
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: 아래에 코드를 작성하세요
# 다음 연산들을 수행하세요:
# 1. + 를 사용한 연결 (Concatenation)
# 2. - 를 사용한 차집합 (Difference)
# 3. & 를 사용한 교집합 (Intersection)
# 4. | 를 사용한 합집합 (Union)
# 각 결과 사이에 "---"를 구분자로 사용하여 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.