Menu
Coddy logo textTech

배열 연산자

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

이 모든 연산자들은 새로운 배열을 생성하고 원본 배열은 변경하지 않은 상태로 유지합니다.

challenge icon

챌린지

쉬움

쉼표로 구분된 정수가 포함된 두 줄의 입력을 읽습니다:

  1. 첫 번째 배열 (예: 1,2,3,4,5)
  2. 두 번째 배열 (예: 3,4,5,6,7)

다음 연산을 수행하고 각 결과를 한 줄에 하나씩 출력하세요:

  1. 두 배열의 연결(concatenation) 결과의 각 요소를 출력합니다 (+ 사용)
  2. 구분선으로 ---를 출력합니다
  3. 차집합(difference) 결과의 각 요소를 출력합니다 (첫 번째 배열에서 두 번째 배열을 뺌, - 사용)
  4. 구분선으로 ---를 출력합니다
  5. 교집합(intersection) 결과의 각 요소를 출력합니다 (공통 요소, & 사용)
  6. 구분선으로 ---를 출력합니다
  7. 합집합(union) 결과의 각 요소를 출력합니다 (중복 없이 결합, | 사용)

예를 들어, 입력이 1,2,3,4,53,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,3030,40,50인 경우 출력은 다음과 같아야 합니다:

10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50

입력이 5,10,151,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)
# 각 결과 사이에 "---"를 구분자로 사용하여 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨