본문 바로가기

728x90
반응형

분류 전체보기

(203)
[백준] 방탈출 : 15729번 - Python https://www.acmicpc.net/problem/15729 15729번: 방탈출 첫째 줄에 N(1 ≤ N ≤ 1,000,000)가 주어지고 둘째 줄에는 쪽지에 적혀 있는 N자리의 수가 빈 칸을 사이에 두고 주어진다. www.acmicpc.net 문제를 풀면서 몰랐던 개념 (1) [Python] 일정구간 리스트 값을 한 번에 바꾸고 싶을 때 : 원소 하나만 바꿀 때는 해당 인덱스를 지정해서 바꾸면 되지만 구간을 정해서 여러 개를 한 번에 바꾸려고 할 때는 인덱스 슬라이싱을 이용하고 바꾸려고 하는 값 역시 해당 구간만큼(리스트 형식) 가지고 있어야 한다. A = [0, 0, 0, 0, 0] B = [1, 1, 1] # 리스트 A에서 0번째에서 2번째까지 리스트 B의 값으로 바꾸고 싶을 때 A[0:2..
깊이 우선 탐색(Depth-First Search) : DFS 깊이 우선 탐색(Depth-First Search) - 그래프 탐색 방법 중 한 가지 종류 "그래프 탐색은 BFS로 하는 것이 훨씬 쉽지만, 재귀함수 사용(백 트래킹에서 쓰임)을 익히기 위해서 DFS가 용이" Stack 사용 아이디어 - 시작점에 연결된 Vertex 찾기 - 찾은 Vertex를 계속해서 찾음(끝날 때까지) - 더이상 연결된 Vertex가 없을 경우 다음으로 넘어감 [그래프 예시] 파이썬으로 구현한 DFS 알고리즘 # 재귀함수로 구현한 DFS def dfs(graph, start, visited): visited[start] = True print(start, end=' ') for i in graph[start]: if visited[i] == False: dfs(graph, i, vis..
[백준] N과 M(1) : 15649번 - Python https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제를 풀면서 몰랐던 개념 백트래킹에 대한 개념 -> https://ye5ni.tistory.com/110 참고! 문제의 접근 방법 1. 아이디어 - 백트래킹 재귀함수 안에서, for문을 돌면서 1부터 N중에서 숫자를 하나 선택 - 다음 1부터 N까지 선택할 때, 이미 선택한 값이 아닌 경우 선택(방문여부 체크) - 재귀함수에서 M개를 선택할 경우 출력 2. 시간복잡도 - N^N : 중복이 가능..
IntelliJ에서 SSH 연결하는 방법 - Linux 원격 접속 🟡 IntelliJ에서 SSH 연결 설정하기 - Linux 웹서버를 윈도우에서 사용하기 📖 리눅스 웹 서버에 접속하거나 파일을 보내기 위해서는 PuTTY나 FileZilla와 같은 프로그램을 사용해야 한다. 그게 아니라면 리눅스 환경에서 직접 수정하고 생성 및 전송을 해야하는데 CLI 환경에서 작업하는 것은 쉬운 일이 아니다. 만약, IntelliJ를 사용하고 있다면 간편하게 InteeliJ에서 리눅스 웹 서버 터미널을 사용할 수 있다. 지금부터 SSH 연결하는 방법을 알아보자. 1. [Tools] - [Deployment] - [Browse Remote Host] 클릭 2. 접속 설정을 추가하기 위해서 '...' 버튼 클릭 3. '+' 버튼을 눌러서 서버 이름을 지정해준 후 Type은 SFTP로 선택 ..
Python - 데크(deque)의 개념 데크(deque) - Python : 보통 큐(queue)는 선입선출(FIFO) 방식으로 작동한다. 이 때, 양방향 큐(queue)가 존재하는데 이것을 데크(deque)라고 부른다. 즉, 앞 뒤 양쪽 방향에서 엘리먼트(element)를 추가하거나 제거할 수 있기 때문에 append와 pop이 압도적으로 빠르다. 일반적인 리스트 O(n) > 데크 O(1) 데크 사용법 from collections import deque# 라이브러리 사용 deq = deque() # 아이템을 데크의 왼쪽 끝에 삽입 deq.appendleft(10) # 아이템을 데크의 오른쪽 끝에 삽입 deq.append(0) # 데크의 왼쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제함 deq.popleft() #데크의 오른쪽 끝 엘리먼트..
[CS] 클라우드의 모든 것! 1. 클라우드 컴퓨팅이란? 인터넷을 통해 IT 리소스와 애플리케이션을 온디맨드로 제공하는 서비스이다. 종량 과금제를 적용한다. - 기존의 물리적인 형태의 실물 컴퓨팅 리소스를 네트워크 기반 서비스 형태로 제공함. - 사용자로 하여금 네트워크 상에서 클라우드 서비스의 자원을 사용하도록 함. 2. CDN이란? CDN은 Content Distribution Network의 약자로 지리적인 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 분산 네트워크를 의미한다. OTT서비스는 호황기를 맞이하였고 유투브, 틱톡 등 끊임없이 쏟아지는 홍수 속에 살고 있음 -> AI, IoT, 자율 주행처럼 대용량의 데이터를 주고받는 신기술이 계속해서 등장하는 추세. 따라서 CDN을 활용하면 서버와 ..
windows에서 사용자 이름 및 컴퓨터 이름 확인하는 방법 🟡 Windows에서 사용자 이름과 컴퓨터 이름을 확인하는 방법 컴퓨터 원격 접속을 하거나 여러가지 다른 상황이 생겼을 때, 내 컴퓨터의 이름과 사용자 이름이 기억 안날 때가 있다. 이러한 경우에 쉽게 확인해보는 방법을 알아보자. 1. [Window + R] 키를 입력하여 해당 항목에 'cmd' 입력 2. ipconfig/all 입력 => 여기서 호스트 이름을 확인하기! 호스트 이름은 컴퓨터 이름을 의미한다. 3. 그 밑에 IPv4 주소에 표시된 주소를 확인 => 이 컴퓨터의 IP 주소 4. set user을 입력하고 Enter 키 입력 => 사용자 이름을 확인하기! 사용자 이름은 USERNAME에 표시된다. 더보기 Reference http://support.ricoh.com/bb_v1oi/pub_e/..
[PHP] Oracle DB 연동을 통해 PHP 샘플 페이지 만들기 *오라클 연동 4탄* 🟡 Oracle DB를 연동하여 PHP를 활용한 도로명 주소 검색 사이트 구현 ❤️ OS : Rocky Linux ❤️ WAS : Apache ❤️ DB : Oracle ❤️ LANGUAGE : html, php ❤️ TOOL : intelliJ IDEA, XShell, Toad for Oracle ↓↓↓ 미리 보고오면 좋은 글 ↓↓↓ 더보기 - APM 구동원리 https://ye5ni.tistory.com/167 APM의 개념 및 구동 시나리오 🟡 APM 이란? A = Apache P = PHP M = MySQL Apache(아파치)는 서버, PHP는 웹 프로그래밍 언어, MySQL은 DB의 구축 및 언어를 의미한다. ✅ Apache (웹 서버) 웹 서비스를 제공해주는 서버로서 Apache HTTP s..

728x90
반응형