전체 글(567)
-
palindrome
def ispal(s): s = s.lower().replace(" ", "") # Remove spaces and convert to lowercase return s == s[::-1] # Check if the string is a palindromes = "A man a plan a canal Panama" # Updated input dataprint(ispal(s)) # Output the palindrome check result Output:TrueThe result is True because "A man a plan a canal Panama" is a palindrome when spaces and case are ignored.
2024.11.28 -
데이터 타입을 처리, 결과를 누적
def process_data(data): result = "" # 결과를 담을 변수 초기화 for item in data: if isinstance(item, int): # 정수일 경우 result += str(item * 2) # 정수에 2를 곱한 값을 문자열로 변환하여 추가 elif isinstance(item, str): # 문자열일 경우 result += item[::-1] # 문자열을 뒤집어서 추가 elif isinstance(item, list): # 리스트일 경우 result += str(len(item)) # 리스트의 길이를 문자열로 변환하여 추가 return re..
2024.11.28 -
재귀와 메모이제이션을 활용한 수열 계산
def rs(d): # 입력 데이터 처리 n = d["n"] # 현재 계산할 숫자 n memo = d["memo"] # 이미 계산된 값 저장소 (메모이제이션) # 이미 계산된 값이 있으면 반환 if n in memo: return memo[n] # n이 1 이하일 때 결과는 1 if n 코드 분석함수 설명rs(d)는 재귀적으로 호출되는 함수로, n값을 기준으로 계산을 수행.memo를 활용하여 중복 계산을 피함 (메모이제이션).종료 조건:n 계산식: rs(n)=rs(n−3)+rs(n−1)rs(n) = rs(n-3) + rs(n-1)실행 과정입력 num = 7을 기준으로 계산.계산 과정단계별 호출rs(7):rs(7)=rs(4)+rs(6)..
2024.11.28 -
상속을 활용한 생성자 호출
// 클래스 A: 최상위 클래스class A { // 기본 생성자: 호출되면 "10" 출력 A() { System.out.println(10); }}// 클래스 B: A를 상속받음class B extends A { // 매개변수 있는 생성자 B(int a) { super(); // 부모 클래스 A의 생성자를 명시적으로 호출 System.out.println(a); // 전달받은 매개변수 a 출력 }}// 클래스 C: B를 상속받음class C extends B { // 매개변수 있는 생성자 C(int a) { super(a * 10); // 부모 클래스 B의 생성자를 호출하면서 a * 10 값을 전달 ..
2024.11.28 -
포인터와 배열 접근
#include int main(void) { int a[4] = {1, 2, 3, 4}; // 정수형 배열 a int *ptr = a; // 포인터 변수 ptr은 배열 a의 시작 주소를 가리킴 char str[] = "hello"; // 문자열 str 정의 printf("a 배열 첫 번째 요소: %d\n", a[0]); // 배열의 첫 번째 요소 출력 printf("a의 시작 주소의 값: %d\n", *ptr); // 포인터가 가리키는 값 출력 printf("a의 (시작 주소 + 1)의 값: %d\n", *(ptr + 1)); // 포인터 이동 후 값 출력 printf("str의 크기: %d\n",..
2024.11.28 -
문자열 포인터
#include int main() { char *p = "KOREA"; // 문자열 "KOREA"의 시작 주소를 포인터 p에 저장 printf("1. %s\n", p); // 문자열 전체 출력 printf("2. %s\n", p + 1); // 두 번째 문자부터 시작하는 문자열 출력 printf("3. %c\n", *p); // 첫 번째 문자 출력 printf("4. %c\n", *(p + 3)); // 네 번째 문자 출력 printf("5. %c\n", *p + 4); // 첫 번째 문자의 ASCII 값에 4를 더한 문자 출력 return 0;}1. KOREA2. OREA3. K4. E5. O
2024.11.28