메뉴 건너뛰기

문제집 / 그룹 문제

문제집 만든이 문제수 조회수 좋아요 생성 수정 공개
블록 코딩 : 03. Lists 관리자 0 3938 0 2019-02-07
01:17:11
2019-02-17
20:55:24
2019-03-31
23:55:56


일상 생활에서 사용하는 "쇼핑 리스트" 처럼, 리스트(List)는 "순서있는 아이템의 모음"으로서, 리스트에 저장할 수 있는 아이템은 어떤 타입도 가능하며, 동일한 값의 아이템을 여러 개 저장할 수 있다. 

리스트 생성

create empty list 블록은 빈 리스트를 만든다.

create empty list with 블록은 아이템의 초깃값을 지정할 수 있다. 다음 블록은 3개 아이템 "alpha", "beta", "gamma" 텍스트를 초깃값으로 지정하여 리스트를 만들고 letters 변수에 저장한다.

다음 블록의 경우는 3개의 수치값으로 구성된 리스트를 만든다.

리스트 아이템 갯수 변경

리스트 아이템의 갯수를 추가하려면 톱니 모양의 아이콘을 클릭하고, 왼쪽 회색 영역의 item 블록을 오른쪽 list 블록 내부에 드래그하면 된다. 오른쪽 list 블록 내부에 있는 item을 왼쪽으로 드래그하면 삭제된다.

여러 개의 동일한 아이템을 갖는 리스트 생성

cretae list with item 블록은 지정한 갯수 만큼의 동일한 아이템으로 구성된 리스트를 생성한다. 다음 블록은 3개의 "very" 아이템으로 구성된 리스트를 생성하여 변수 words에 저장한다.

빈 리스트인지 확인

is empty 블록은 빈 리스트이면 true, 그렇지 않으면 false를 반환한다. 다음의 블록은 word 변수에 3개의 아이템으로 구성된 리스트가 저장되어 있으므로 false이다. 

리스트 아이템의 갯수 확인

length of 블록은 리스트에 저장된 아이템의 갯수를 가져온다. 아이템의 저장된 값의 동일성 여부는 고려하지 않고, 단순한 아이템의 갯수이다. 다음의 블록은 3을 가져온다.

리스트에서 아이템 찾기

다음 블록들은 특정 아이템의 위치를 찾는다. 첫번째 블록은 "very" 아이템의 첫번째 위치이므로 1, 두번째 블록은 "very" 아이템의 마지막 위치이므로 3를 가져온다. 만약 리스트 내에 "very" 아이템이 없다면 0을 가져온다.

리스트에서 아이템 1개 가져오기

다음 블록은 지정한 위치의 아이템을 가져온다.

다음 블록은 끝에서부터 지정한 위치의 아이템을 가져온다.

다음 블록은 첫번째 아이템을 가져온다.

다음 블록은 마지막 이이템을 가져온다.

다음 블록은 무작위 위치의 아이템을 가져온다.

리스트에서 아이템을 가져오면서 삭제하기

드롭 다운 메뉴를 누르면 get 이외에 get and remove, remove 항목이 있다. get and remove 는 아이템의 값을 가져오는 것은 get과 동일한데, 원 리스트에서 해당 아이템을 삭제한다.

다음의 블록은 letter 리스트에서 "alpha" 아아템을 가져온 후 삭제하므로, letter 리스트를 출력하면 "beta"와 "gamma"만 존재한다.

아이템 제거하기

드롭 다운 메뉴를 remove로 변경하면, 아이템 값을 가져오지 않고 아이템을 삭제만 하기 때문에, 왼쪽 플러그 모양의 꼭지가 없어진다. 다음은 letters 리스트에서 1번째 아이템을 삭제한다.

하위 리스트 가져오기

다음 블록은 하위 리스트의 구간을 지정하여 해당 구간의 하위 리스트를 반환한다. 다음은 첫번째부터 2번째 구간의 하위 리스트인 ["alpah", "beta"]를 myL etters 변수에 저장한다.

특정 위치의 아이템 값을 설정하기

다음은 특정 위치의 아이템 값을 설정한다.

다음은 words 변수에 3개의 "very" 아이템으로 구성된 리스트를 저장하고, 3번째 아이템의 값을 "good"으로 설정한다. 

특정 위치에 아이템 추가하기

in list ... insert at # ... as ... 블록은 특정 위치에 아이템을 추가한다.

다음은 words 변수에 3개의 "very" 아이템으로 구성된 리스트를 저장하고, 3번째 아이템의 값을 "good"으로 설정한 후 1번째 위치에 "You're" 아이템을 추가한다.

텍스트를 리스트로 만들기

다음은 텍스트를 주어진 구분자를 기준으로 나누어 리스트를 생성한다.

리스트를 텍스트로 만들기

다음은 여러 개의 텍스트 아이템을 구분자로 연결하여 하나의 텍스트를 생성한다 

리스트의 아이템 출력하기

print 블록을 이용하면 리스트를 다음과 같이 출력할 수 있다.

리스트의 아이템 순회하기

다음은 리스트의 아이템을 차례대로 순회하면서 각각의 아이템을 출력한다. print 블록은 하나의 항목을 출력할 때 마다 자동으로 맨 끝에 '개행(Enter)'가 추가된다.

2차원 리스트 만들기

지금까지 만든 리스트는 모두 1차원이다. 그러나, 효율적인 알고리즘의 구현을 위해서는 다차원 리스트가 필요하다.

다음은 행이 3개, 열이 2개인 2차원 리스트를 만들고, 2중 for count 블록을 이용하여 2차원 리스트 내의 요소값을 출력하는 방법이다.

 

 

 

 

 

 

 

 

 

 

 

 

 



코드 제목 시간(초) 메모리(MB) 나의판정 소스 제출 통과 비율(%) 시도 성공 비율(%)

위로