분류 전체보기

    [쉽고 빠르게 배우는 자바스크립트] 1. 실행 환경 구축하기

    2023.05.20 - [프로그래밍언어/자바스크립트] - [쉽고 빠르게 배우는 자바스크립트] 0. 자바스크립트(JS)란 무엇인가 [쉽고 빠르게 배우는 자바스크립트] 0. 자바스크립트(JS)란 무엇인가 자바스크립트란? 자바스크립트는 웹 페이지를 만들기 위해 사용되는 스크립트 언어입니다. 우리가 흔히 볼 수 있는 웹 페이지의 화면에서 단순히 웹 페이지를 정적으로 보여주는 것뿐만 아니라 c4u-rdav.tistory.com 자바스크립트 실행 자바스크립트는 크게 브라우저에서 실행될 수도 있지만 node.js 로도 실행이 될 수 있습니다. node.js는 크롬의 V8엔진을 이용해서 브라우저가 아닌 다른 환경에서 자바스크립트를 실행할 수 있게 도와주는 런타임 환경입니다. 즉, node.js를 통해서 브라우저 환경에..

    [쉽고 빠르게 배우는 자바스크립트] 0. 자바스크립트(JS)란 무엇인가

    자바스크립트란? 자바스크립트는 웹 페이지를 만들기 위해 사용되는 스크립트 언어입니다. 우리가 흔히 볼 수 있는 웹 페이지의 화면에서 단순히 웹 페이지를 정적으로 보여주는 것뿐만 아니라 동적인 상호작용이 가능하도록 하는 언어이죠. 기존의 자바스크립트는 브라우저 상에서만 사용할 수 있었는데 현재는 서버, 앱 등 다양한 분야에 사용이 가능하게 되었고, 현재는 아주 인기 있는 언어로 자리 잡고 있습니다. 자바스크립트의 역사 1995년 정적인 HTML을 동적으로 표현하기 위해 넷스케이프가 브렌던 아이크(Brendan Eich)를 고용해 개발한 언어가 바로 '자바스크립트'입니다. 1996년 3월 웹 브라우저에 처음으로 탑재되었을 때 이름은 '모카(Mocha)'였고, 그해 9월 '라이브스크립트(LiveScript)'..

    [백준(BOJ)] #17298- 오큰수 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 풀이 저는 스택 자료구조를 사용해서 이 문제를 풀었습니다. 2022.06.29 - [CS/자료구조] - [파이썬으로 배우는 자료구조] 스택(Stack), 큐(Queue) [파이썬으로 배우는 자료구조] 스택(Stack), 큐(Queue) 스택(Stack) 스택이란? 스택은 후입선출의 자료구조로 LIFO(Last In First Out)라고 불리기도 합니다. 실생활에서 예를 들어볼까요? 우리가 보통 ..

    [네트워크] HTTP와 HTTPS

    HTTP HTTP란? HTTP는 HyperText Transfer Protocol의 약어로 인터넷에서 데이터를 주고받을 수 있는 텍스트 기반 통신 프로토콜입니다. HTTP의 동작 HTTP는 클라이언트/서버 모델을 따릅니다. 클라이언트(Client)에서 사용자가 브라우저의 URL을 통해 서비스를 요청(Request)하면 서버(Server)에서 해당 요청사항에 맞는 결과를 찾아 클라이언트에 응답(Response)하는 형태로 동작을 하게 됩니다. HTML 문서 외에도 JSON, XML 등의 데이터를 주고받을 수 있습니다. HTTP의 특징 1) JSON, XML 등의 정보를 주고받을 수 있음 초기에는 HTML과 같은 하이퍼미디어 문서를 주고받을 수 있었지만, 최근에는 JSON, XML 등의 다양한 형태의 데이터..

    [파이썬으로 배우는 알고리즘] 선택 정렬(Selection Sort)

    선택 정렬(Selection Sort)이란? 선택 정렬은 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 그 위치에 어떤 원소를 넣을지 "선택"하는 정렬 알고리즘입니다. 선택 정렬 과정 위와 같이 정렬되어 있지 않은 배열을 선택 정렬 알고리즘을 사용하여 정렬해보겠습니다. 제일 왼쪽 인덱스 0 즉, 제일 작은 원소가 들어갈 자리를 정하고, 해당 인덱스에 어떤 원소를 넣을지 다음 원소부터 순서대로 탐색합니다. 11, 2, 4, 3 원소 중에는 2가 제일 작으므로 2의 인덱스 2를 기억합니다. 인덱스 0에 저장된 원소 10과 인덱스 2에 저장된 2를 비교하여 2가 더 작은 것을 알 수 있습니다. 2가 더 작기 때문에 두 원소를 서로 바꿔줍니다. 1회전이 끝나고 인덱스 0의 원소를 구했습니다. 그다음으로 왼..

    [백준(BOJ)] #1520- 내리막 길 (파이썬, Python3)

    문제 https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 문제 풀이 DFS + 동적 계획법 2022.07.22 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) 동적 계획법(Dynamic Programming)이란? 동적 계획법(Dynamic Programming), 다이나믹 프로그래밍, DP라고 불리는 이 알고리..

    [백준(BOJ)] #4485- 녹색 옷 입은 애가 젤다지? (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 문제 풀이 다익스트라 알고리즘의 개념, BFS 알고리즘 2022.07.31 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 다익스트라(Dijkstra) 알고리즘 [파이썬으로 배우는 알고리즘] 다익스트라(Dijkstra) 알고리즘 다익스트라(Dijkstra) 알고리즘이란? 다익스트라(Dijkstra) 알고리즘은 최단 경로 알고리즘으로 그래프에서 특정한 노드에서 다..

    [백준(BOJ)] #10026- 적록색약 (파이썬, Python3)

    문제 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제 풀이 DFS 알고리즘 적용! 2022.07.12 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] DFS(깊이 우선 탐색) [파이썬으로 배우는 알고리즘] DFS(깊이 우선 탐색) DFS란? DFS(Depth First Search)는 그래프의 모든 노드를 탐색하는 방법 중 하나로, 깊이를 우선으로 탐색한 후 더 이상 탐색할 노드가 없다면 이전으로 돌아가 탐색을 이어나가..

    [백준(BOJ)] #2014- 소수의 곱 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/2014 2014번: 소수의 곱 첫째 줄에 K(1 ≤ K ≤ 100), N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 K개의 소수가 오름차순으로 주어진다. 같은 소수가 여러 번 주어지는 경우는 없으며, 주어지는 소수는 모두 541보다 작거나 www.acmicpc.net 문제 풀이 우선순위 큐를 사용해 문제를 해결할 수 있습니다. 2022.07.19 - [CS/자료구조] - [파이썬으로 배우는 자료구조] 우선순위 큐(Priority Queue), 힙(Heap) [파이썬으로 배우는 자료구조] 우선순위 큐(Priority Queue), 힙(Heap) 우선순위 큐(Priority Queue)란? 일반적인 큐(Queue) 자료구조는 FIF..

    [백준(BOJ)] #1507- 궁금한 민호 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1507 1507번: 궁금한 민호 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에 각각의 도시 사이에 이동하는데 필요한 시간이 주어진다. A에서 B로 가는 시간과 B에서 A로 가는 시간은 같다. 또, A와 B www.acmicpc.net 문제 풀이 입력으로 모든 도시로 가는 최소 이동 시간이 주어져 이를 역으로 풀어야 합니다. 즉, 플로이드 워셜 알고리즘을 역으로 적용하는 문제입니다. 2022.08.01 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 플로이드 워셜(Floyd Warshall) 알고리즘 [파이썬으로 배우는 알고리즘] 플로이드 워셜(Floyd Warshall) 알고리즘 플로이드 ..