[TIL] 자료 구조와 배열 (Python) 3편 - 인덱스싱, 슬라이싱
·
TIL
1. 인덱싱인덱싱은 리스트나 튜플 같은 순서가 있는 데이터에서 특정 위치의 항목을 가져오는 방법입니다. 인덱스식을 사용하는 방법은 리스트와 튜플이 동일합니다.  기본적인 인덱싱:과일 = ["사과", "바나나", "오렌지"]print(과일[0]) # 사과print(과일[1]) # 바나나print(과일[2]) # 오렌지 인덱스는 0부터 시작합니다. 첫 번째 항목의 인덱스는 0, 두 번째 항목의 인덱스는 1, 이런 식으로 계속됩니다.음수 인덱싱:과일 = ["사과", "바나나", "오렌지"]print(과일[-1]) # 오렌지 (마지막 항목)print(과일[-2]) # 바나나 (뒤에서 두 번째 항목)파이썬에서는 음수 인덱스를 사용하여 뒤에서부터 항목을 선택할 수 있습니다. 리스트 수정하기:과일[1] = ..
[TIL] 자료 구조와 배열 (Python) 2편 - 리스트와 튜플
·
TIL
1. 파이썬에서는 배열을 리스트(list)와 튜플(tuple)로 구현할 수 있습니다. 리스트와 튜플은 '데이터 컨테이너(Data Container)' 또는 '데이터 구조(Data Structure)'라고 불립니다. 데이터 컨테이너:데이터 컨테이너는 여러 데이터 항목을 하나의 단위로 묶어서 저장하고 관리할 수 있게 해주는 객체를 말합니다. 마치 여러 물건을 담을 수 있는 상자와 같은 역할을 합니다. (ex. 연필통은 연필, 지우개, 자 등 여러 문구용품을 담는 컨테이너예요.)  데이터 구조:데이터 구조는 데이터를 효율적으로 저장, 관리, 사용할 수 있도록 구조화한 방식을 말합니다. 데이터 구조는 데이터 컨테이너의 더 넓은 개념이라고 볼 수 있습니다. 쉽게 말해 데이터 구조는 데이터를 정리하는 방법이에요. ..
[TIL] 자료 구조와 배열 (Python) 1편 - 기본 개념
·
TIL
1. 자료구조자료 구조는 컴퓨터에서 정보를 정리하고 저장하는 방법입니다. 마치 우리가 물건을 정리할 때 서랍장, 책장, 옷장 등을 사용하는 것처럼, 컴퓨터도 정보를 효율적으로 관리하기 위해 여러 가지 방법을 사용합니다. 2. 배열 (array) 배열은 가장 기본적인 자료 구조 중 하나로 같은 종류의 여러 데이터를 순서대로 나열한 것입니다. 실생활에서의 배열:책장에 책을 순서대로 꽂아놓은 것달력의 날짜들학교 교실의 책상 배치배열에는 객체가 저장되며 배열에 저장된 객체 하나하나를 원소(element)라고 합니다. 각 원소는 0, 1, 2, ∙∙∙순으로 인덱스(index)를 부여 받습니다. 배열은 음수 인덱스(negative list index)를 사용할 수도 있으며 슬라이스(slice)라는 기능으로 원하는 ..
[백준] 11654번 아스키 코드 - Python3
·
알고리즘
문제 설명문제알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.입력알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.출력입력으로 주어진 글자의 아스키 코드 값을 출력한다.출제 의도이 문제는 다음과 같은 프로그래밍 능력을 평가합니다.ASCII 코드 이해:문자와 숫자가 컴퓨터 내부에서 어떻게 표현되는지에 대한 기본적인 이해를 확인합니다.문자 처리: 프로그래밍에서 문자를 어떻게 다루는지, 특히 문자와 숫자 사이의 관계를 이해하고 있는지 평가합니다.입력 처리: 사용자로부터 입력을 받고 그것을 적절히 처리하는 능력을 테스트합니다.형 변환 개념: 문자를 해당하는 ASCII 값(정수)으로 변환하는 과정을 이해하고 있는지 확인합..
[백준] 15596번 정수 N개의 합 - Python3
·
알고리즘
문제 설명문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)리턴값: a에 포함되어 있는 정수 n개의 합 (정수)출제 의도이 문제는 다음과 같은 프로그래밍 능력을 평가합니다.내장 함수 sum()의 존재와 사용법 인지파이썬의 리스트 처리 방식 이해대량의 데이터(최대 3,000,000개의 요소)를 효율적으로 처리할 수 있는 방법 고안시간 복잡도와 공간 복잡도를 고려한 해결책 제시 입력값의 범위(0 ≤ a[i] ≤ 1,000,000)를 고려한 해결책 제시   정답 코드 모법 답안def solve(a): return sum..
[백준] 2562번 최댓값 - Python3
·
알고리즘
문제 설명문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 예제 입력 1 32938125774408561예제 출력 1 858출제 의도이 문제는 다음과 같은 프로그래밍 능력을 평가합니다.여러 숫자를 리스트에 저장하고 다루는 능력for 루프를 사용해 정해진 횟수만큼 입력을 받는 방..
[백준] 2739번 구구단 - Python3
·
알고리즘
문제 설명문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력출력형식과 같게 N*1부터 N*9까지 출력한다. 예제 입력 1 2예제 출력 1 2 * 1 = 22 * 2 = 42 * 3 = 62 * 4 = 82 * 5 = 102 * 6 = 122 * 7 = 142 * 8 = 162 * 9 = 18문제 해석for 루프를 사용하여 특정 범위(1부터 9까지)를 반복하는 방법을 익히고, 반복 구조의 기본 개념을 이해하고 적용하는 능력을 테스트합니다. f-string이나 다른 문자열 포매팅 방법을 사용하여 원하는 형식으로 출력하는 능력을 키웁니다. 정답 코드 모법 답안n = int..
[백준] 9498번 시험성적 - Python3
·
알고리즘
문제 설명문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력시험 성적을 출력한다. 예제 입력 1 100예제 출력 1 A문제 해석 if-elif-else 구문을 사용하여 여러 조건을 처리하는 능력을 테스트하는 문제입니다. 복잡한 조건을 논리적으로 구성하는 방법을 학습할 수 있습니다. 또한 input() 함수를 사용하여 사용자로부터 데이터를 받는 방법을 익히고, 문자열을 정수로 변환하는 과정(형 변환)을 학습하게 합니다. 정답 코드 모법 답안score = int(input())i..