2024/07 82

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

스쿼드# 숙제 - 73# 1000개 이상의 숫자를 받아 더해주는 함수 만드세요def sum_numbers(*args): return sum(args)print(sum_numbers(1,1,2,3,5,8,13,21,34,55))# 숙제 - 74# 리스트를 받은 뒤 그 길이를 반환하는 함수를 만드세요 def length(list): return len(list)list1 = [1,1,2,3,5,8,13,21,34,55]print(length(list1))# 숙제 - 75# 세개의 숫자를 비교하여 큰 숫자를 반환하는 함수# 예시) # 입력 -> func(50, 44444, 9)# 출력 -> 44444def func(*args): return max(args)print(func(50, 4444..

스쿼드 2024.07.31

[프로그래머스] #31 수박수박수? (방법3가지)

▶ 문제길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution 만들기.ex) n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴 ▶ 제한조건n은 길이 10,000이하인 자연수 ▶ 풀이def solution(n): answer = '' for i in range(n): if i % 2 == 0: answer += "수" else: answer += "박" return answer오예 통과! +다른 풀이들도 신기한게 있어서 훔쳐봤다.방법1) def solution(n): return "".join("수박"[i%2] for i in range(n))내가 한거..

codekata 2024.07.31

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

스쿼드# 숙제 - 40# 빈 딕셔너리에 키: name, 값, 본인 이름을 추가하고 출력dict1 = {}dict1['name'] = '서원'print(dict1)# 숙제 - 41# {'name': 'won', 'age': 1000} 에서 키 age의 값을 출력dict1 = {'name':'won', 'age':'1000'}print(dict1['age'])# 숙제 - 42# {'apple': 111, 'banana': 222, 'cherry': 333} 에서 모든 키 출력dict1 = {'apple': 111, 'banana': 222, 'cherry': 333}print(dict1.keys())# 숙제 - 43# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 에서..

스쿼드 2024.07.30

[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