분류 전체보기 9

행렬과 Numpy

1차원 배열: 벡터2차원 배열: 행렬3차원 배열: 텐서 행렬로 표현할 수 있는 것- 컴퓨터의 메모리 구조- 표 형태의 데이터- 이미지 행렬의 곱은 앞의 열 == 뒤의 행 일때 수행 가능  Numpy 란?- 다차원 배열을 효과적으로 처리할 수 있도록 도와주는 도구- 파이썬의 기본 list에 비해 빠르고 강력한 기능 제공 Numpy의 차원- 1차원 축: axis 0 => vector- 2차원 축: axis 1 => matrix- 3차원 축: axis 2=> Tensor(3차원 이상) Numpy의 기본적인 사용 방법- numpy는 list와 호환됨- 특정한 리스트 데이터가 있을때 numpy 자료형으로 바꿀 수 있음 import numpy as np#0부터 3까지의 배열 만들기array1 = np.arange(..

카테고리 없음 2025.03.10

면접을 위한 cs 전공지식 노트 [네트워크]

[네트워크]노드와 링크가 서로 연결되어 있거나, 연결되어 있으면서 리소스를 공유하는 집합 노드서버, 라우터, 스위치(목적지로 가는 적합한 경로를 찾아주는 라우팅 기능) 등 네트워크 장치링크유선, 무선 2.1.1 처리량과 지연 시간네트워크를 구축할 때는 '좋은' 네트워크로 만드는 것이 중요! 좋은 네트워크란?1) 많은 처리량 처리 가능2) 지연 시간 짧음3) 장애 빈도가 적음4) 좋은 보안을 갖춤 대역폭주어진 시간동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수이 범위 내에서 데이터들이 흐름 처리량링크 내에서 성공적으로 전달된 데이터의 양얼만큼의 트래픽을 처리했는지 나타냄많은 트래픽을 처리했다 = 처리량이 많다 트래픽특정 시점에 링크 내에 흐르는 데이터의 양 **둘의 차이!**트래픽 = 데이터처리량이..

카테고리 없음 2025.02.12

안드로이드 개발 - 스톱워치 구현

안드로이드의 4대 구성요소 (서로 독립적이고 필수적인 역할을 함) 1. 액티비티 (필수)사용자에게 유저 인터페이스 제공하는 화면의 기본 구성 단위액티비티는 유저의 활동에 따라 새로운 상태를 도입, 콜백함수 실행*액티비티의 생명주기**프래그먼트는 꼭 액티비티 안에 종속되어야 하고 고유의 생명주기가 존재함* 2. 서비스백그라운드 동작을 수행ex) Flow에서 음악을 실행하면 앱을 닫아도 노래가 계속 나옴ex) 대용량 파일을 다운받을때 다른 앱을 실행하면서도 다운로드가 계속됨 3. 브로드캐스트 리시버앱 밖에서 일어나는 이벤트들을 앱이 감지하도록 하는 것ex) wifi를 연결하면 앱이 이를 감지후 다운을 받을 수 있도록함ex) 배터리가 5% 남았을때 앱에서 특정 동작을 멈춤 4. 컨텐트 프로바이더데이터 관리, ..

카테고리 없음 2025.02.09

면접을 위한 cs 전공지식 노트 [디자인 패턴]

[디자인 패턴]디자인 패턴이란?프로그램을 설계할 때 발생했던 문제점들을 객체 간 상호관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 1) 싱글톤 패턴하나의 클래스에 하나의 인스턴스만 가짐 (ex) 데이터베이스 연결 모듈)-원래는 하나의 클래스로 여러 인스턴스를 만들 수 있음 장점: 하나의 인스턴스만으로 다른 모듈들이 공유하며 사용 -> 인스턴스 생성 비용 감소단점: TDD의 단위테스트는 서로 독립적이어야하며 테스트를 어떤 순서로든 실행할 수 있어야함.하지만 싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반으로 구현하는 패턴이라 각 테스트마다 독립적인 인스턴스 만들기 어려움,모듈간의 결합을 강하게 만들어 의존성 높아짐a) Node.js에서 MongoDB 연결할때 mongoose..

카테고리 없음 2025.02.05

파이썬 자료구조 - 배열에서 투포인터 이용하기

리스트에서 시간 효율을 높이면서 원하는 값을 출력해내는 방법으로 투포인터를 이용하는 방법이 있다.원래 같으면 이중, 삼중 for 문을 사용할 일을 시간 복잡도를 줄이는 것이다. 투포인터란?왼쪽 포인터와 오른쪽 포인터의 합이 타겟보다 크다면 오른쪽 포인터를 왼쪽으로, 작다면 왼쪽 포인터를 오른쪽으로 옮기면서 값을 조정하는 방식이다.   1. 두수의 합 ( 리트코드 )리스트에서 덧셈하여 타겟을 만들 수 있는 배열의 숫자 인덱스를 리턴하라.#입력nums = [2, 7, 11, 15], target = 9#출력[0, 1] 풀이 1: enumerate 이용nums_map = {}for i, nums in enumerate(nums): nums_map[num] = ifor i, num in enumerate(num..

카테고리 없음 2024.12.16

[우아한테크코스 7기] 우테코 안드로이드 - 1주차 회고록

코틀린을 처음 배워보는 나는 프리코스에서 최대한 많은걸 배워가자는 마음으로 지원했다 문자열 덧셈 계산기    먼저 기본 구분자인 문자열과 커스텀 구분자인 문자열일때를 다르게 처리해야 된다고 생각함 1. 기본 구분자 문자열과 커스텀 구분자 문자열 따로 처리1) 기본 구분자에 대해 숫자 분리하는 메서드- ',' 나 ':' 기준으로 숫자들만 split 한 리스트 반환 2) 커스텀 구분자에 대해 숫자 분리하는 메서드- \\n 을 기준으로 문자열 분리 후 리스트의 첫 요소인 구분자를 기준으로 숫자들만 split 한 리스트 반환 3) 1)과 2)를 구분하는 메서드- 입력 받은 문자열이 ' // ' 로 시작하면 1)호출, 그렇지 않으면 2)호출 후 반환된 문자열 리스트에서 string형인 숫자를 int형으로 변환 후..

카테고리 없음 2024.12.15

알고리즘 풀이- 그리디

1. 프로그래머스 체육복 reserve 리스트에 있는 학생 중,  lost 에 포함되지 않은 학생들만 따로 empty 에 추가. lost 에 있는 학생 중, reserve 에 포함되지 않은 학생들만 emp에 추가. empty를 순회하면서, 각 요소의 앞/뒷번호가 emp에 있으면 체육복을 빌려줌. -> emp 에서 해당 학생을 제거함 결과: 전체 학생수에서 체육복을 받지 못한 학생수를 뺀값을 반환 ***어려웠던 점***-> empty 와 emp를 정렬할 생각을 하지 못함. 정렬을 해야만 최선의 경우가 나올거라는걸 생각하지 못함.   2. 프로그래머스 구명보트 people을 오름차순으로 정렬 -> 최대한 많은 사람을 한 보트에 태워야하기 때문에.포인터를 두개 사용-> i는 가장 가벼운 사람의 인덱스, j는 ..

카테고리 없음 2024.10.07

자바스크립트 이터레이터 개념

pick 함수는 두개의 매개변수를 받음ks: 객체에서 선택하려는 키들의 배열obj: 키-값 쌍이 저장된 객체 주어진 배열의 각 요소에 대해 함수를 적용하고, 그 결과로 새로운 배열을 생성함-k는 ks 배열의 각 키를 의미함각 키 k에 대해 [k,obj[k]] 배열을 생성.결과적으로 ks 배열의 각 키에 대해 [key, value] 형태의 배열들이 모인 2차원 배열이 생성됨. 이전 코드에서 설명한 객체로 변환하는 함수. [key, value] 배열을 일반 객체로 변환. console.log(pick(['b','c'],obj2));-> pick 함수를 호출하여 obj2 객체에서 b와 c 키에 해당하는 값만을 선택한 객체를 생성하고 콘솔에 출력.    두개의 매개변수를 받음. f: 객체의 각 값에 대해 적용되..

카테고리 없음 2024.09.23

html/css 기본 개념

*부족하거나 잘몰랐던 부분*  scale(): 요소의 크기에 영향을 준다. 이는 요소의 글꼴 크기, 패딩, 높이, 너비에도 적용됨skewX(), skewY(): 요소를 왼쪽 또는 오른쪽으로 기울임. skew()는 두 값을 모두 수용하여 결합한 축약형translate(): 요소를 옆으로 또는 위아래로 이동px, %, em 등rotate(): 요소를 현재 위치에서 시계 방향으로 회전회전의 각도가 양수면 시계방향, 음수면 시게반대방향matrix(): 손으로 작성하도록 의도된 것은 아니지만 모든 변환을 하나로 결합하는 함수perspective(): 요소 자체에는 영향을 안미치지만 하위요소의 3D 변환에 영향을 미침 애니메이션을 사용하면 요소를 한 스타일에서 다른 스타일로 점진적으로 변경 가능css 애니메이션을 ..

카테고리 없음 2024.09.09