전체 글 139

[CS] OOP 객체지향 프로그래밍

OOP (Object-Oriented Programming, 객체지향 프로그래밍) 1. 객체 지향프로그램을 '객체' 하나하나의 모임으로 구성하는 방식.추상화하고자 하는 객체의 모습을 가상의 공간에 구체화하며 설계해 나가는것.어떤 대상을 소스코드로 그리기 위한 컴퓨터 공학적 사고 방식을 의미한다.  2. 객체 (Instance, 인스턴스) 객체 = 속성인 데이터 + 행동인 메서드 를 함께 묶은 개념현실세계에 있는 어떤 대상을 추상화 한 것을 의미한다.물체, 생물등의 명사가 객체라고 생각하면 될듯. 감정이나 생각들도 객체로 표현할 수 있음.  3. 클래스 (Class) 객체를 생성하기 위한 템플릿 = 클래스객체를 생성하기 위해 어떤 속성과 방법의 집합을 추상화하여 표현한것을 의미한다.클래스 안에는 함수, 변..

CS 2024.07.30

[프로그래머스] #30 가운데 글자 가져오기 (슬라이싱)

▶ 문제단어 s의 가운데 글자를 반환하는 함수 solution 만들기. 단어의 길이가 짝수라면 가운데 두 글자 반환하면 됨. ▶ 제한사항s는 길이가 1 이상, 100 이하인 스트링 ▶ 풀이def solution(s): if len(s) % 2 == 1: return s[len(s)//2] else: return s[len(s)//2-1] + s[len(s)//2]통과!  우와 다른사람 풀이 구경슬라이싱을 이용할 수도 있다! 주의할 점은슬라이싱 [start : stop] 에서 stop 지점 요소는 포함되지 않는다range랑 똑같네word = "power"start = (len(word) - 1) // 2stop = len(word) // 2 + 1 # 미포함pr..

codekata 2024.07.30

[프로그래머스] #29 제일 작은 수 제거하기 (remove함수)

▶ 문제정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수 solution 완성하기. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하기.ex) arr이 [4, 3, 2, 1] 인 경우는 [4, 3, 2] 리턴ex) arr이 [10] 이면 [-1] 리턴 ▶ 제한조건arr은 길이 1 이상인 배열인덱스 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] ▶ 풀이def solution(arr): answer = arr.remove(min(arr)) if answer: return answer return [-1] # 실행한 결괏값 [-1]이 기댓값 [4,3,2]과 다릅니다.틀림.. 모든 값이 다 [-1]로 나온다..ㅜ 찾아본..

codekata 2024.07.30

[CS] 소프트웨어 설계

소프트웨어 개발 방법론말그대로 소프트웨어를 개발하기 위해서 어떤 방법으로 개발해 나가는지에 대한 개념 1. 폭포수 방법론하향식 방법으로 가장 오래된 개발 방법'계획 → 설계 → 개발 → 시험 → 유지보수' 순차적으로 진행하며SDLC(소프트웨어 개발 생명 주기)가 굉장히 길다따라서 매우 큰 규모의 프로젝트에 적합하고이미 진행된 작업에대해서는 변경 및 수정이 어렵다ex) 원전,미사일 등 큰 시스템 2. 애자일 방법론반복적이고 점진적으로 개발하는 방법'계획 → 설계 → 개발 → 시험 → 유지보수' 순차적으로 진행하되SDLC(소프트웨어 개발 생명 주기)가 굉장히 짧으며여러번 반복하며 점진적으로 개발해 나간다따라서 이해관계자의 피드백을 빠르게 반영할 수 있으나개발 계획을 세우기 어려울 수 있다ex) 스타트업, 세..

CS 2024.07.29

[Python] 파이썬 문법 기본문제

스쿼드 숙제!파이썬 고급문법 들가기 전에 확인하는 기본문제 #숙제1#Hello World를 5번 출력for i in range(5): print("Hello World")#숙제2#1부터 44까지 짝수만 출력for i in range(45): if i % 2 == 0: print(i)#숙제3#1부터 44까지 짝수는 * 4, 홀수 그냥 출력for i in range(45): print(i * 4) if i % 2 == 0 else print(i)#숙제4#Hello World 4번 출력print("Hello World\n" * 4)# Hello World# Hello World# Hello World# Hello World문자열도 사칙연산을 통해 반복 출력 할 수 있다.그냥 한번 ..

스쿼드 2024.07.29

[CS] 컴파일러/인터프리터/메모리영역

컴파일러와 인터프리터  컴파일러와 인터프리터는 이름그대로 소스코드를 실행 가능한 형태로 번역하는 도구. 고급 프로그래밍 언어로 작성된 소스코드를 기계어로 번역 및 실행하기 위한 프로그램이다. 1. 컴파일러소스코드 전체를 분석하고 그다음 기계어로 번역 후 실행한다. C, JAVA와 같은 언어는 컴파일러에 의해 컴파일(기계어로 번역)되고 실행됨.  2. 인터프리터한줄씩 소스코드를 번역하고 실행한다.Python, javascript와 같은 언어들이 인터프리터에 의해 번역 및 실행됨.  3. 컴파일러와 인터프리터 차이점3-1. 실행방식컴파일러 : 소스코드를 전체적으로 번역해서 기계어로 변환을 한 후에 실행 파일을 생성. 프로그램 실행 전에 번역이 이뤄짐.인터프리터 : 소스코드를 한줄씩 읽고 번역하면서 즉시 실행..

CS 2024.07.28

WIL

이번주얻은거코드 짜기 전에 코드 그리기 생소한 문제를 보면 이해도 안되고 어떻게 코드를 짜야할지 엄청 막막하기만 하다파이참 틀어서 def 세글자 적고 멍때리게 된다 그럴 때 종이에 먼저 그림으로 그리면서 흐름과 로직을 파악해놓고나서키보드에 손을 올리면 디게 잘쳐진다내가 그려놓은 코드를 컨닝페이퍼처럼 보면서 베껴 적으면 되는 느낌 코드 공부할때도 그림으로 그려보면 이해도 잘되고 머리에도 오래남는다그림그리는 습관을 들이기  이번주반성모르는 게 있으면 넘어가자 나는 공부하다가 이해 안되는 부분을 발견하면 백년동안 붙잡고 있는 버릇이 있다.어떻게든 이부분을 이해를 해야만 넘어갈 수 있는 강박증 때문인데 이게 공부를 하는데 있어서 정말 비효율적인 것 같다. 선생님이 말씀해주신게 있는데까먹기 전에 적어놓고 고쳐봐야..

캠프 2024.07.27

[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