전체 글

    BOJ 1697 - 숨바꼭질

    https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 �� www.acmicpc.net BFS 를 이용해서 풀어야 하는 문제다. 이전 까지 내가 풀었던 BFS, DFS 문제들은 2차원 배열과 새 x,y 좌표를 위한 dx, dy 배열을 이용해 풀었다면 이 문제는 문제에서 제시된 세가지 식 (x + 1, x - 1, 2 * x) 를 이용해서 BFS 를 돌려야 했다. 그리고 시간에 대한 계산 부분은 큐를 한사이클 돌릴때마다 추가를 해줘야 했다 예를 들면 문..

    C++ STL 정리 - 개요

    간단하게 C++ STL 의 종류와 특성에 대해서 훑어보는 포스팅이다. STL 은 Standard Template Library 의 약자로 C++ 언어를 위한 4가지 구성요소를 제공하는 라이브러리다. 4가지 구성요소는 Algorithm, Container, Iterator, Functors가 해당한다. * Algorithm Algorithm 은 Algorithm 이라는 헤더 파일에 정의되어 있으며, Container 를 다루기 위한 여러 수단을 제공한다. 예를 들면, Container 를 정렬 하기 위해 쓰는 sort() 함수나, 이진 탐색을 위해서 쓰이는 binary_search() 함수나, Container 내부의 값을 찾는 find() 함수 등 다양하게 존재한다 자세한 함수 종류는 Reference ..

    #33 가지 Javascript 필수 개념 - 5. Equals

    본 내용은 아래의 링크를 참조하여 작성되었습니다. (https://github.com/leonardomso/33-js-concepts#5--vs--vs-typeof) * 동치 관계 파악 대부분의 프로그래밍 언어에서 두 개의 변수 혹은 값이 동일한 대상인지 아닌지 판별하기 위해서 == (Double Equals) 를 사용하는 동일 연산자를 제공하는데, JS 의 경우 특이하게 2가지 동일 연산자를 제공한다. == (Double Equals) 와 === (Triple Equals) 가 바로 그것이다. 둘은 구체적으로 어떻게 다른지 알아본다. * Double Equals (==) 먼저 Double Equals 는 두 대상의 Value 만 비교하는 연산자 이다. 예를 들면 위와 같이 비교를 했을 때 결과가 전부 ..

    DNS (Domain Name System) 란?

    - 참조한 강의 (https://opentutorials.org/module/3421) * 용어 Host : 인터넷 연결시에 사용되는 컴퓨터를 의미 (꼭 컴퓨터가 아니라 다른 기기여도 네트워크 연결을 위한 대상이면 Host 로 부름) IP address : Host 끼리 연결을 하기 위한 주소값 (초기에는 IPv4 로 주소를 부여 했지만, 차후에 IPv6 가 나오면서 갯수를 더 늘렸다.) * DNS 등장 이유 DNS 가 등장한 이유는 사람이 일일이 IP 주소를 외우고 다니기 힘들기 때문이다. 이 개념이 등장하기 전에는 Host 끼리 연결을 하기 위해서 직접 IP 주소를 쳐서 연결을 해야했고, 하나하나 외워서 처리하기에는 상당히 불편하고 복잡했다. * hosts 파일 hosts 파일은 각 IP 주소별 도메..

    BOJ 1038 - 감소하는 수

    https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 �� www.acmicpc.net 어떤 숫자가 맨 앞자리 부터 맨 끝자리 까지 수가 감소하는 모양이면, 감소하는 수 라 부른다 예를들면, 321, 54321, 620 등 은 감소하는 수 이고, 881, 922 등은 감소하는 수가 아니다. 처음에 이 문제를 풀때는, 수의 범위를 잘못 잡아서 틀렸었다 입력 N 은 N 번째 감소하는 수가 무엇인지 묻는 것인데, #define MAX 1000000 으로 잡고 0 ~ M..

    CORS (Cross Origin Resource Sharing)

    토이 프로젝트를 개발하다가 자주 이 이슈를 마주해서 이참에 개념 정리를 해볼겸 글을 작성하게 되었다. * CORS CORS 란 다른 출처(Origin) 간의 Resource 에 대한 접근, 공유 권한을 처리하는 보안 정책이다. * Origin ? 출처(Origin) 이란 것은 URL 의 구성요소에서 protocol, host, port 를 의미하는데, URL 은 보통 아래 같이 구성된다. 출처(Origin) 이 동일한지 다른지는 앞서 언급한 세가지 요소 protocol, host(위 그림에서 domain), port number 가 같은지 다른지를 판별해서 결정된다. port number 의 경우 http 는 기본 값이 80, https 는 기본 값이 443 이다. 보통의 사이트들은 포트번호를 입력하고 ..

    BOJ 11279 - 최대힙, BOJ 1927 - 최소힙

    https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이� www.acmicpc.net https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이� www.acmicpc.net 둘은 구현 방식에 있어서 큰 차이가 있는 문제가 아..

    BOJ 2667 - 단지번호 붙이기

    https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net DFS 를 이용해서 주어진 인접 행렬에서 구분된 구역의 갯수와 구역 내의 원소의 총 갯수를 구하는 문제이다. DFS 에 대한 기본적인 개념을 다지기 좋은 문제이다. - c++ #include #include #include #include using namespace std; int n, cnt; // 총 노드의 수 (5 ~ 25), 갯수 출력 변수 int checked[25][25]; // 방문..