본문 바로가기

전체 글

(7)
[프로그래머스-Lv3] 섬 연결하기 - 파이썬(Python) programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 풀이 비용을 오름차순으로 정렬하여 최소 비용이 먼저 오게함 costs의 첫번째 원소를 routes에 넣어서 첫 경로로 설정 모든 섬이 경로에 들어올때까지(`len(routes) == n`) 원소들을 반복하면서 경로를 탐색 만약 시작점과 도착점이 이미 경로에 있다면 넘어감 둘중 한점만 경로에 있다면 새로운 섬을 경로에 추가하고(set자료형이기 때문에 중복된 섬은 추가되지 않음) ans에 현재 섬의 비용을 추가한다. 또한, 현재 섬의 경로를 [-1, -1, -1]로 설정하여 다..
[프로그래머스-Lv3] 네트워크 - 파이썬(Python) programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 풀이1 - BFS collections 라이브러리에서 deque를 불러옴 방문했던 컴퓨터를 저장하기 위한 visit 선언 함수를 만든 뒤 큐를 이용한 bfs 탐색으로 현재 컴퓨터에서 갈 수 있는 모든 지점을 탐색하며 visit 체크 반복문을 통해 아직 방문하지 않은 컴퓨터에서 갈 수 있는 모든 지점을 체크하며 answer에 1 추가 코드1 - BFS from collec..
OSI 7계층 OSI 7계층(Open System Interconnection 7 layers) 국제표준화기구(ISO)에서 개발한 모델로서, 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명한 것 나누는 이유 통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문 1) 물리(Physical) 리피터, 케이블, 허브 등 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간 즉, 데이터를 전송하는 역할만 진행 2) 데이터 링크(Data Link) 브릿지, 스위치 등 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할 Mac 주소를 통해 통신. 프레임에 Mac 주소를 부여하고, 에러검출, 재전송, 흐름제어를 진행한다. 3) 네트워크(..
프로세스와 스레드 프로세스 & 스레드 프로세스: 프로그램을 메모리 상에서 실행중인 작업 스레드: 프로세스 안에서 실행되는 여러 흐름 단위 기본적으로 프로세스마다 최소 1개의 스레드 보유(메인 스레드 포함) 프로세스는 각각 별도의 주소공간 할당(독립적) Code: 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data: 전역변수, 정적변수, 배열 등(초기화된 데이터) Heap: 동적 할당 시 사용(new(), mallock() 등) Stack: 지역변수, 매개변수, 리턴 값(임시 메모리 영역) 스레드는 Stack만 따로 할당 받고 나머지 영역은 서로 공유 하나의 프로세스가 생성될 때, 기본적으로 하나의 스레드 같이 생성 프로세스는 자신만의 고유 공간과 자원을 할당받아 사용하는데 반해, 스레드는 다른 스레드와 공간, 자원..
RESTful API RESTful API 월드 와이드 웹(WWW)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식으로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반에 대한 패턴 REST란 REpresentational State Transfer의 약자, ful은 형용사형 어미 REST가 디자인 패턴이다, 아키텍쳐다 많은 이야기가 존재하는데, 하나의 아키텍쳐로 볼 수 있다. REST는 Resource Oriented Architecture이다. API 설계의 중심에 자원(Resource)이 있고, HTTP Method를 통해 자원을 처리하도록 설계하는 것 REST 6가지 원칙 Uniform Interface(유니폼 인터페이스) URL로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 ..
객체 지향 프로그래밍 객체 지향 프로그래밍(Object Oriented Programming) 객체 지향 프로그래밍 이전의 프로그래밍 패러다임 => 컴퓨터 중심 객체 지향 프로그래밍 => 인간 중심적 프로그래밍 현실 세계의 사물들을 객체라고 보고, 그 객체로부터 개발하고자 하는 애플리케이션에 필요한 특징들을 뽑아와 프로그래밍 => 추상화 이미 작성한 코드에 대한 재사용성이 높음 라이브러리를 각종 예외상황에 맞게 잘 만들어두면 개발자가 사소한 실수를 하더라도 그 에러를 컴파일 단계에서 잡아낼 수 있으므로 버그 발생이 줄어듦 내부적으로 어떻게 동작하는지 몰라도 개발자는 라이브러리가 제공하는 기능들을 사용할 수 있기 때문에 생산성이 높아지게 됨 객체 단위로 코드가 나눠져 작성되기 때문에 디버깅이 쉽고 유지보수에 용이 데이터 모델링..
Taekslog 기술면접 관련 유명한 아래의 Github와 사이트 정보를 바탕으로 정리를 해보려한다. https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Development_common_sense#object-oriented-programming) https://gyoogle.dev/blog/