전체 글 257

IT지식: 브라우저의 개념과 동작 원리 요약 - 파싱과 렌더링 엔진

브라우저 WWW(World Wide Web)에 기반한 인터넷 정보를 볼 수 있게 해주는 응용 프로그램. 가장 많이 이용되는 소프트웨어이며 현재 인터넷 익스플로러, 파이어폭스, 사파리, 크롬 등이 서비스 중이다 브라우저의 기능 사용자가 선택한 자원을 서버에 요청하면 브라우저에 표시한다 자원의 주소는 URI(Uniform Resources Identifier)에 의해 정해진다 W3C(World Wide Web Consortium, 웹 표준화 기구)에서 정한 명세에 따라 HTML과 CSS를 해석해 브라우저에 표시한다 브라우저의 구조 사용자 인터페이스(UI) 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등 요청 페이지를 제외한 모든 부분 브라우저 엔진 사용자 인터페스와 렌더링 엔진 사이 동작 제어 렌더링 엔진 ..

Study/IT 지식 2021.11.24

인터넷(Internet), 도메인 네임(Domain name), DNS 개념 이해

인터넷 인터넷은 수십억 대의 컴퓨터를 모두 연결하는 기술 인프라입니다 물리적(이더넷 케이블) 또는 무선(WIFI, Bluetooth)으로 서로를 연결할 수 있는데 그림처럼 하나씩 서로를 연결하면 천문학적인 비용이 듭니다 이를 해결하기 위해 라우터(패킷 전송 장치)라는 중간 장치를 사용해 연결을 효율적으로 만듭니다 그리고 다시 그 라우터들을 하나의 라우터에 연결하는 것이죠 전세계의 라우터들을 연결하기 위해서 서로 멀리 떨어져 있는 라우터까지 연결해야합니다 하지만 장거리 전송에서 디지털 신호는 손상될 수 있으므로 모뎀을 이용해 아날로그 신호로 변환한 다음 전화 시설을 통해 전송합니다 ​ 네트워크의 디지털 신호 → 전화선의 아날로그 신호 모뎀에서 어느 라우터로 보내야 하는지 모르고 그 라우터에 액세스(접근) ..

Study/IT 지식 2021.11.23

Baekjoon14889: 스타트와 링크

스타트와 링크 2 초 512 MB 49286 24988 14525 47.398% 문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. Sij는 Sji와 다를 수도 있으며, i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치는 Si..

Study/Baekjoon 2021.11.18

백트래킹(Backtracking)의 개념과 DFS로의 확장, N-Queen

백트래킹 해를 찾는 중에 현재 선택한 루트(노드)가 해와 관련이 없다는 것을 알아차리면 중단하고(가지치기) 이전 단계로 돌아가 다른 루트를 탐색한다 해가 될 수 있는 노드(유망한 노드)만을 이용해 부분 탐색을 수행한다 ​​ DFS 깊이 우선 탐색(Depth-First-Search), 맨 위 노드(루트)에서 하나의 가지(branch, 분기)를 완전히 탐색하고 다음 가지(분기) 넘어가는 방법 전체 탐색을 전제로 한다 ​ DFS의 사용 자기 자신을 호출(재귀 호출)하는 순환 알고리즘 형태이다 무한 루프에 빠지지 않기 위해 방문했다는 기록을 남겨준다 ​ 예시 위의 트리를 탐색하는 메소드를 논리로 만들어보자(전위순회) 1. 현재 위치를 탐색하고 왼쪽 아래 노드로 이동합니다 2. 만약 왼쪽 아래 노드가 없거나 방문..

Study/알고리즘 2021.11.17

Baekjoon14888: 연산자 끼워넣기

연산자 끼워넣기 2 초 512 MB 50821 26712 16789 49.337% 문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다. 1+2+3-4×5÷6 1÷2..

Study/Baekjoon 2021.11.16

2021 도시재생 산업박람회 공모전 아이디어 부문 입상 후기

7월 쯤 졸업을 앞두고 뭐라도 해야겠다 그 마음 뿐이었던 같아요 근데 저는 다른 활동보다 공모전이 끌리더라구요ㅋㅋ 그래서 공모전을 도전하기 시작했습니다 이 공모전은 저에게 3번째 도전!! 전공과 다른 분야라 고생했지만 팀원들과 힘을 합해 노력으로 해낼 수 있었던 공모전이었습니다 ​​ -준비과정- 공모전 입상작 살펴보기 입상작들을 살펴보면서 키워드들을 정리했어요 뉴딜, 스마트, 노후 주택, 코로나 거리두기 등등 전공이 아니라 그런가 점점 미궁 속으로 가더군요 안되겠다 싶어서 uris라는 사이트에 기록된 서울부터 부산까지 키워드와 관련된 도시재생 사례들을 모두 정리했습니다 구글 공유시트 오른쪽에 페이지수 보이시나요? 관련 기사와 자료들을 요약한 내용이 100페이지가 넘었죠 팀원들과 시간을 갈아넣었습니다 ㅠㅠ..

Experience 2021.11.15

Baekjoon9663: N-Queen

N-Queen 10 초 128 MB 50440 25920 16972 50.773% 문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 풀이 백트래킹의 대표 문제 중 하나라고 한다. N-Queen에 규칙에 의해 NxN 체스판에 N개의 퀸을 놓기 위해서는 각 줄에 하나씩 퀸을 놓아야만 한다. 즉 첫째줄이든, 둘째줄이든 퀸은 무조건 존재한다는 뜻이다. 이 규칙에 의해 첫째줄에 퀸은 무조건 놓일 수 밖에 없으므로 첫째줄(1행)에 퀸이 어느 자리(열)에 오..

Study/Baekjoon 2021.11.12

Java: Stream 이해하고 적용하기

Stream Java 8부터 람다 표현식(lamda expression)을 사용할 수 있게 되었고 같은 시기에 Collection의 Stream 클래스를 사용할 수 있게 되었다 Stream 동작 Collection(ArrayList, Set, Map 등), 배열, 가변 매개변수, 특정 타입 난수, 람다 표현식, 파일, 빈 스트림 등 다양한 범위의 데이터를 가공할 수 있다. Iterator과 비슷한 방식으로 동작한다. 데이터를 복사해서 가져온 뒤 사용자가 원하는 연산을 수행한다. 원본 자료 → Stream 데이터 형식으로 복사 → 내부 연산 → 출력 (데이터 소모) *이미 원본을 복사한 자료이기 때문에 최종 연산 이후 내부 자료들이 소모된다(재사용X) 즉, Stream은 복사한 원본을 이용해 사용자가 원하..

Study/Java 2021.11.12

Baekjoon15652: N과 M(4)

N과 M (4) 1 초 512 MB 22116 17594 14249 79.603% 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 풀이 이전 문제들을..

Study/Baekjoon 2021.11.11