컴퓨터공학 공부/SmartLearn - PABI 강의

컴퓨팅 사고 II: WEEK 5-1

개발학생 2023. 1. 13. 18:27
반응형

*POSTECH 청년 AI · Big Data 아카데미(https://pabi.smartlearn.io/)의
 'Computational Thinking (컴퓨팅 사고)  II' 코스 강의를 듣고 정리한 글입니다

 

1. 순서열의 특징

  • 같은 꼴의 더미를 표현 → [계산 자료1, 계산 자료2, …, 계산 자료 n]
  • 사람 언어로 “… 더미”에 해당 → 같은 계산 자료를 여러 번 원소로 표현해도 됨
  • 기본 자료처럼 그 자체로서 완전한 프로그램이기에, 실행 후 결과까지 얻을 수 있음(순서열 실행 → 똑같은 순서열을 결과로 얻음)

 

2. 순서열의 예시

  • [ ] → 빈 더미(원소가 없는 순서열)
  • [1]
  • [1, 2, 2, 3, 3, 3] → 1 1개 2 2개 3 3개가 위에서부터 차례로 쌓이는 더미

 

  • [’월요일’, ‘화요일’, ‘수요일’]
  • [True, False, True, False]
  • [(1981, 9, 18), (2013, 12, 25), (2001, 5, 8)]
  • [(’km’, 40), (’m’, 40000), (’km’, 6), (’m’, 6000)]

 

3. 다음 유도하기로 더미 해석하기

1) 최초 빈 더미

[ ]

 

2) 직전 더미에 원소 하나를 추가해서 얻은 더미

[1, 2, 3] → 원소 100 추가 → [100, 1, 2, 3]

 

4. 다음 유도하기에 맞춰 순서열 만들기

*다른 기능을 이용해서 흉내를 냄

  • 빈 순서열: [ ]
  • 작은 순서열 맨 앞에 원소 하나를 덧붙여 얻은 순서열: [원소] + 작은 순서열

 

*순서열을 다음 유도하기에 따라 해석한 예

  • [1] == [1] + [ ]
  • [2, 3] == [2] + [3]
  • [1, 2, 3] == [1] + [2, 3]

 

5. 여러곱과 순서열

1) 여러곱

  • 원소 갯수가 고정
  • 원소 추가하면 새로운 꼴의 여러곱이 나옴

 

2) 순서열

  • 원소가 몇 개 포함될지 미정
  • 원소를 추가해도 종류가 달라지지 않음

 

6. Python 언어에서의 순서열

  • 여러합 원소로 이루어진 순서열 (여러합 원소 더미) - 계산 자료 꼴이 일정하지 않을 수 있음
  • → 같은 꼴의 더미를 표현하는 순서열도 실제 원소 꼴은 다를 수 있음

 

*예시 - ‘이름 또는 생년월일’ 더미

*같은 꼴의 더미를 표현하는 순서열도 실제 원소 꼴은 다를 수 있음

이름 홍길동, 생년월일 1981년 9월 18일 더미    =>   [ ('이름', '홍길동'), ('생년월일', (1981, 9, 18) ) ]

 

*실제 프로그래밍 예시(계산이 없을 경우, 입출력은 같음)

[1, 2, 2, 3, 3, 3] ⇒ [1, 2, 2, 3, 3, 3]

[’월요일’, ‘화요일’, ‘수요일’] ⇒ [’월요일’, ‘화요일’, ‘수요일’]

[(’이름’, ‘홍길동’), (’생년월일’, (2000, 6, 23))] ⇒ [(’이름’, ‘홍길동’), (’생년월일’, (2000, 6, 23))]

([1, 2, 3], [’월요일’, ‘화요일’, ‘수요일’]) ⇒ ([1, 2, 3], [’월요일’, ‘화요일’, ‘수요일’])

[3] + [ ] ⇒ [3]

[2] + [3] ⇒ [2, 3]

[1] + [2, 3] ⇒ [1, 2, 3]

 

7. 순서열 활용 예시

1) 순서열을 쓸 수 있는 곳

  • 기본 자료가 나올 수 있는 곳 전부
    • 예: 여러곱 원소 ([1, 2, 3], [’월요일’, ‘화요일’, ‘수요일’])
    • 예: 순서열 원소 [ [ ], [1], [1, 2], [1, 2, 3]]

 

2) 자전거 여행 문제

  • 알맹이 요약하기를 거쳐 나온 표

사람 언어 인천 / 40km

Python 언어 (’인천’, 40)

 

사람 언어 인천 / 40km, 대전 / 163km, 강릉 / 237km

Python 언어 [ (’인천’, 40), (’대전’, 163), (’강릉’, 237) ]

 

사람 언어

Python 언어 (’서울’, [ (’인천’, 40), (’대전’, 163), (’강릉’, 237) ] )

 

3) 원소 두 개 여러곱 = 대응 관계

  • 계산 자료의 대응 관계 → ‘원소 두 개 여러곱’ 더미로 표현 가능
  • 대응 관계 해석

(계산 자료1, 계산 자료2) < = > 계산 자료1은 계산 자료2에 대응된다

(’인천’, 40) < = > 인천은 40km에 대응된다 < = > 인천의 특징은 40km이라는 것이다

(’서울’, [ (’인천’, 40), (’대전’, 163), (’강릉’, 237) ] )

< = > 서울의 특징으로 인천은 40km에 대응되고 대전은 163km에 대응되고 강릉은 247km에 대응된다

 

 

반응형