2024/07 82

[CS] 자료형/자료구조

CS (Computer Science, 컴퓨터 과학) 자료형 (data type): 프로그래밍에서 값이 가질 수 있는 데이터의 종류. 데이터가 저장되는 형식.자료형을 통해 컴퓨터는 해당 값이 어떻게 해석되고 처리되어야 하는지 알 수 있다.  주요 자료형 (8가지) 1. 정수형 (integer): 정수값을 저장함 5, -3, 100#   2. 실수형 (float): 실수값, 즉 소수점을 포함한 값 -0.5, -2.0, 3.141592#   3. 문자열 (string): 문자들의 집합. 큰따옴표나 작은따옴표로 싸인 텍스트 "hi", 'dino'#   4. 불리언 (boolean) : 논리연산에서 사용됨 True, False#   5. 리스트 (list) : 여러 값을 순서대로 저장함. 대괄호 []로 감싸고 ..

CS 2024.07.26

[CS] 운영체제

OS(Operating System, 운영체제)▶ 운영체제 목적운영체제는 사용자가 컴퓨터를 조작/제어할 수 있게하고 작업의 편의성을 제공하는 시스템 소프트웨어.CPU, 메모리, 네트워크 등 하드웨어 자원을 효율적으로 관리사용자와 컴퓨터 간의 상호작용을 위한 인터페이스를 제공응용 프로그램을 실행하고 관리, 프로그램 간의 상호작용 지원시스템 자원과 데이터 보안 유지, 시스템 안정성 보장▶ 운영체제 성능 지표처리능력 : 일정 시간동안 시스템이 처리할 수 있는 작업량. ex) 웹서버가 얼마나 많은 요청을 처리할 수 있는지.반환시간 : 작업이 시스템에 들어와서부터 완료될 때까지 걸린 시간. ex) 사용자가 요청한 작업이 얼마나 빨리 완료되는지 응답 속도.사용가능도 : 요청이 있을 때 즉시 사용 가능한 정도. ex..

CS 2024.07.26

[CS] 하드웨어 - 컴퓨터구조

CS (Computer Science, 컴퓨터 과학)컴퓨터 구조 - 하드웨어 기본내용더보기1. Mainboard (메인보드)2. CPU(Central Processing Unit, 중앙처리장치)2-1. CPU 주요 구성 요소          -  ALU(Arithmetic Logic Unit, 산술논리장치)           -  CU(Control Unit, 제어장치)          -  Register(레지스터)           -  Cache Memory(캐시메모리)2-2. CPU 동작           -  컴퓨터 언어 변환           -  명령어 수행 단계2-3. CPU 성능           -  Clock(클럭)           -  Core(코어)3. GPU(Graphic Pr..

CS 2024.07.26

[프로그래머스] #28 없는 숫자 더하기

▶ 문제0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어짐. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수 완성하기. ▶ 제한사항1 ≤ numbers 의 길이 ≤ 90 ≤ numbers 의 모든 원소 ≤ 9numbers 의 모든 원소는 서로 다름 ▶ 풀이def solution(numbers): return 45 - sum(numbers) 통과!

codekata 2024.07.26

[알고리즘] 선택 정렬, 삽입 정렬

정렬 알고리즘(Sorting Algorithms): 데이터를 특정 순서로 정렬하는 알고리즘 선택 정렬(Selection Sort): 배열의 가장 최소값(or최대값)을 선택해서 배열의 앞부분으로 이동시키는 방식.배열 전체에서 최소값(or최대값)을 찾음그 값을 배열의 맨 앞에 위치한 값이랑 교환맨 앞에 정렬된 애들을 제외하고, 위 두 과정 반복 ▶ 선택 정렬 구현 코드def selection_sort(arr): # 함수정의, 배열받기 n = len(arr) # n = 배열길이 for i in range(n): # i반복 : 0부터 ~ n-1까지 (i = 기준인덱스) min_idx = i ..

[알고리즘] 선택정렬, 삽입정렬코드

선택정렬def selection_sort(arr): # 함수정의, 배열받기 n = len(arr) # n = 배열길이 for i in range(n): # i반복 : 0부터 ~ n-1까지 (i = 기준인덱스) min_idx = i # 최소인덱스 = i로 지정해놓고 비교시작! for j in range(i + 1, n): # j반복 : i+1부터 ~ n-1까지 (j = 비교인덱스) # 엥? 근데 i=7일때는?? if arr[j] 최소인덱스값 swap해줌. # 결과 : 배열의 (앞에서 i개 제외..

[알고리즘] 피보나치 수열, 메모이제이션

피보나치 수열: 처음 두 항을 1과 1로 정하고, 그 다음 항부터는 앞의 두 개의 항을 더해 만드는 수열1 ,  1 ,  2 ,  3 ,  4 ,  5 ,  13 ,  21 ,  34 ,  55 ,  ·  ·  ·이 수열에 속한 수를 피보나치 수라고 한다.f(0) = 0 으로 시작하기도 함첫 번째 피보나치 수 f(1) = 1두 번째 피보나치 수 f(2) = 1세 번째 피보나치 수 f(3) = f(2) + f(1) = 2네 번째 피보나치 수 f(4) = f(3) + f(2) = 3n 번째 피보나치 수 f(n) = f(n-1) + f(n-2) ▶ n 번째 피보나치 수 구하는 코드 만들어보기def fibonacci(n): # 함수정의, 결과는 n번째 피보나치 수 if n == 1 o..

[프로그래머스] #27 핸드폰 번호 가리기 (문자열 연산)

▶ 문제프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가린다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린 문자열을 리턴하는 함수 solution을 완성해라 ▶ 제한조건phone_number는 길이 4 이상, 20 이하인 문자열 ▶ 풀이def solution(phone_number): num = len(phone_number)-4 return '*' * num, phone_number[-4:] # 실행한 결괏값 ["*******","4444"]이 기댓값 "*******4444"과 다릅니다틀림 왜 리스트 형태로 나온다고 하지? 그래서 파이참에서 실행해봤다.def solution..

codekata 2024.07.24

[프로그래머스] #26 음양 더하기 (zip 함수)

▶ 문제어떤 정수들이 있다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어진다. 실제 정수들의 합을 구하여 return 하도록 solution 함수 완성 ▶ 제한사항absolutes의 길이는 1이상 1,000 이하absolutes의 모든 수는 각각 1이상 1,000 이하signs의 길이는 absolutes의 길이와 같다signs[i]가 참이면 absolutes[i]의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미함 ▶ 풀이def solution(absolutes, signs): total = 0 for i in range(len(signs)): if signs[i]: ..

codekata 2024.07.23

[알고리즘] 재귀함수

재귀함수 : 자기자신을 다시 호출함재귀호출되면 그 전의 함수는 Stack에 쌓임.return을 만나면 본인이 호출되었던 위치로 되돌아감. ▶ print( )가 먼저, 재귀호출이 나중에 있을 때def recursive_func(n): # 함수선언, n 받아옴 if n == 0: # n = 0 이면 return # 함수 끝 else: # f(5)에서 n=5 이면 print(n, end=' ') # 5 프린트 하고 나서 # 5 recursive_func(n-1) # 재귀호출 f(4), 처음으로 돌아감 ..