배열은 메모리의 연속 공간에 값이 채워져 있는 자료구조
인덱스틀 통해서 해당 주소 값을 참조 가능
특징
1. 인덱스를 사용해서 값 O(1) 로 접근 가능
2. update 시 어려움. 하나씩 앞으로 당기거나 뒤로 미뤄야함
3. 일반적으로 배열은 처음 초기화 시 크기 고정
4. 구조가 간단, 이용하기 쉬움
리스트는 값과 포인터를 묶은 노드들을 포인터로 연결한 자료구조
특징
1. 인덱스의 개념이 따로 없어 처음 HEAD 노드 부터 하나하나 포인터를 통해 접근해야 함.
접근 속도가 느림. O(n)
2. 포인터로 연결이 되어 있어 데이터 삽입 및 삭제 연산 속도는 빠름
3. 처음 선언 시 따로 크기를 지정하지 않음
4. 상대적으로 구현하기 더 어려움
다른 프로그래밍 언어와는 다르게 따로 구분이 되어 있지 않다!!
컴퓨터 지식을 배우기에는 적합하지 않을 수 있으나 코딩테스트 및 알고리즘을 공부하기에는
오히려 편할 수 있다!!
입력: 1번째 줄에 숫자의 개수 N(1<=N<=100), 2번째 줄에는 숫자 N개가 공백 없이 주어진다.
출력: 입력으로 주어진 숫자 N개의 숫자의 합을 출력한다.
입력 예시
5
54321
출력 예시
15
코드 예시
n=input() numberList=list(input()) sum=0 for i in numberList: sum+=int(i) print(sum)
코드 예시2
n=input() numberList=list(map(int,input())) print(sum(numberList))
map에 대한 내용은 Array & List -(2) 에 기입했다.
c 언어를 사용했다면 for문을 돌리면서 글자 하나씩 읽으며(%c) 배열에 저장해야 하는 문제인 것 같은데 python 으로 푸니 코드 자체가 매우 간결해지는 것 같다.
무엇보다 ";" 을 안붙여도 된다는 점?