시니어까지의 여정
-
시퀀스 자료형은 슬라이스라는 기능을 자주 사용합니다. 슬라이스(slice)는 무엇인가의 일부를 잘라낸다는 뜻인데, 시퀀스 슬라이스도 말 그대로 시퀀스 객체의 일부를 잘라냅니다. 시퀀스 객체[시작 인덱스 : 끝 인덱스] 다음은 리스트의 일부를 잘라서 새 리스트를 만듭니다. >>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] >>> a[0:4] # 인덱스 0부터 3까지 잘라서 새 리스트를 만듦 [0, 10, 20, 30] [ ] 안에 시작 인덱스와 끝 인덱스를 지정하면 해당 범위의 리스트를 잘라서 가져올 수 있습니다. 여기서 주의할 점이 있는데, 끝 인덱스는 가져오려는 범위에 포함되지 않습니다. 따라서 끝 인덱스는 실제로 가져오려는 인덱스보다 1을 더 크게 지정해야 합니다...
시퀀스 자료형 활용하기시퀀스 자료형은 슬라이스라는 기능을 자주 사용합니다. 슬라이스(slice)는 무엇인가의 일부를 잘라낸다는 뜻인데, 시퀀스 슬라이스도 말 그대로 시퀀스 객체의 일부를 잘라냅니다. 시퀀스 객체[시작 인덱스 : 끝 인덱스] 다음은 리스트의 일부를 잘라서 새 리스트를 만듭니다. >>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] >>> a[0:4] # 인덱스 0부터 3까지 잘라서 새 리스트를 만듦 [0, 10, 20, 30] [ ] 안에 시작 인덱스와 끝 인덱스를 지정하면 해당 범위의 리스트를 잘라서 가져올 수 있습니다. 여기서 주의할 점이 있는데, 끝 인덱스는 가져오려는 범위에 포함되지 않습니다. 따라서 끝 인덱스는 실제로 가져오려는 인덱스보다 1을 더 크게 지정해야 합니다...
2022.07.25 -
지금까지 변수에는 값을 한 개씩만 저장했습니다. a = 10 b = 20 그럼 값을 30개 저장하려면 어떻게 해야 할까요? 다음과 같이 변수 30개에 값 30개를 저장하면 됩니다. a1 = 10 a2 = 20 # ... (생략) a29 = 60 a30 = 40 변수 30개를 일일이 타이핑하기는 쉽지 않습니다. 만약 저장할 값이 3,000개라면 정말 끔찍하죠? 이때는 리스트를 사용하면 편리합니다. 리스트는 말 그대로 목록이라는 뜻이며 값을 일렬로 늘어놓은 형태입니다(보통 리스트의 값은 코드로 생성하는 경우가 많아서 타이핑할 일이 거의 없습니다). 이번 유닛부터 리스트를 만드는 방법과 기본 사용 방법을 알아보겠습니다. 10.1 리스트 만들기 변수에 값을 저장할 때 [ ](대괄호)로 묶어주면 리스트가 되며 각..
리스트 와 튜플 사용하기지금까지 변수에는 값을 한 개씩만 저장했습니다. a = 10 b = 20 그럼 값을 30개 저장하려면 어떻게 해야 할까요? 다음과 같이 변수 30개에 값 30개를 저장하면 됩니다. a1 = 10 a2 = 20 # ... (생략) a29 = 60 a30 = 40 변수 30개를 일일이 타이핑하기는 쉽지 않습니다. 만약 저장할 값이 3,000개라면 정말 끔찍하죠? 이때는 리스트를 사용하면 편리합니다. 리스트는 말 그대로 목록이라는 뜻이며 값을 일렬로 늘어놓은 형태입니다(보통 리스트의 값은 코드로 생성하는 경우가 많아서 타이핑할 일이 거의 없습니다). 이번 유닛부터 리스트를 만드는 방법과 기본 사용 방법을 알아보겠습니다. 10.1 리스트 만들기 변수에 값을 저장할 때 [ ](대괄호)로 묶어주면 리스트가 되며 각..
2022.07.25 -
3.8 심사 문제 : 문자열 출력하기 문제 : 'Hello, world!' 두 개를 각 줄에 출력하는 프로그램을 만드세요(대소문자 구분과 띄어쓰기가 정확해야 합니다). 정답에는 출력 결과를 만족하는 전체 소스 코드를 입력해야 합니다. 정답 : print('Hello, world!') print('Hello, world!') 5.6 심사문제 : 스킬 공격력 출력하기 문제 : L이라는 게임에서 "왜곡"이라는 스킬이 AP * 0.6 + 225의 피해를 입힙니다. 참고로 이 게임에서 AP(Ability Power, 주문력)는 마법 능력치를 뜻합니다. 다음 소스 코드를 완성하여 스킬의 피해량이 출력되게 만드세요. (이때 AP는 102이다.) 정답 : print(102*0.6+225) 6.7 심사문제 : 변수 만들..
python 심사문제 UNIT(3 ~ 12)3.8 심사 문제 : 문자열 출력하기 문제 : 'Hello, world!' 두 개를 각 줄에 출력하는 프로그램을 만드세요(대소문자 구분과 띄어쓰기가 정확해야 합니다). 정답에는 출력 결과를 만족하는 전체 소스 코드를 입력해야 합니다. 정답 : print('Hello, world!') print('Hello, world!') 5.6 심사문제 : 스킬 공격력 출력하기 문제 : L이라는 게임에서 "왜곡"이라는 스킬이 AP * 0.6 + 225의 피해를 입힙니다. 참고로 이 게임에서 AP(Ability Power, 주문력)는 마법 능력치를 뜻합니다. 다음 소스 코드를 완성하여 스킬의 피해량이 출력되게 만드세요. (이때 AP는 102이다.) 정답 : print(102*0.6+225) 6.7 심사문제 : 변수 만들..
2022.07.25 -
컬렉션 프레임워크란? 배열을 사용하다 보면 여러가지 비효율적인 문제가 생긴다. 가장 큰 문제점은 크기가 고정적이라는 것이다. 배열의 크기는 생성할 때 결정되며 그 크기를 넘어가게 되면 더이상 데이터를 저장할 수 없다. 또 데이터를 삭제하면 해당 인덱스의 데이터는 비어있어 메모리 낭비되는 등 여러 문제점들이 발생한다. 그렇기에 자바는 배열의 이러한 문제점을 해결하기 위해, 널리 알려져 있는 자료구조를 바탕으로 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)할 수 있는 자료구조들을 만들어 놓았다. 이러한 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 한다. 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다. 대표적으로 List, Set, Map, Stack, Q..
컬렉션 프레임워크컬렉션 프레임워크란? 배열을 사용하다 보면 여러가지 비효율적인 문제가 생긴다. 가장 큰 문제점은 크기가 고정적이라는 것이다. 배열의 크기는 생성할 때 결정되며 그 크기를 넘어가게 되면 더이상 데이터를 저장할 수 없다. 또 데이터를 삭제하면 해당 인덱스의 데이터는 비어있어 메모리 낭비되는 등 여러 문제점들이 발생한다. 그렇기에 자바는 배열의 이러한 문제점을 해결하기 위해, 널리 알려져 있는 자료구조를 바탕으로 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)할 수 있는 자료구조들을 만들어 놓았다. 이러한 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 한다. 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다. 대표적으로 List, Set, Map, Stack, Q..
2022.07.21 -
오류의 종류 에러 (Error) 개발자가 해결할 수 없는 치명적인 오류 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 에러가 발생되면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외 (Exception) 개발자가 해결할 수 있는 오류 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 예외가 발생되면 프로그램 종료 예외 처리 추가하면 정상 실행 상태로 돌아갈 수 있음 예외가 발생하면 비정상적인 종료를 막고, 프로그램을 계속 진행할 수 있도록 우회 경로를 제공하는 것이 바람직 예외의 종류 일반(컴파일 체크) 예외 예외 처리를 하지 않으면 컴파일 오류가 발생하므로 꼭 처리해야하는 검사형 예외 실행 예외 (RuntimeException) 개발자의 실수로 발생할 수 있으며, 예외 처리를 하지 ..
예외처리오류의 종류 에러 (Error) 개발자가 해결할 수 없는 치명적인 오류 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 에러가 발생되면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외 (Exception) 개발자가 해결할 수 있는 오류 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 예외가 발생되면 프로그램 종료 예외 처리 추가하면 정상 실행 상태로 돌아갈 수 있음 예외가 발생하면 비정상적인 종료를 막고, 프로그램을 계속 진행할 수 있도록 우회 경로를 제공하는 것이 바람직 예외의 종류 일반(컴파일 체크) 예외 예외 처리를 하지 않으면 컴파일 오류가 발생하므로 꼭 처리해야하는 검사형 예외 실행 예외 (RuntimeException) 개발자의 실수로 발생할 수 있으며, 예외 처리를 하지 ..
2022.07.21 -
보호되어 있는 글입니다.
이너클래스와 이너 인터페이스보호되어 있는 글입니다.
2022.07.20