[CS 문답] Packet Switching VS Circuit Switching
Circit Switching VS Packet Switching Packet Switching jeweled-rumba-f54.notion.site
키자드에 등록된 총 703개의 포스트를 확인하실 수 있습니다.
Circit Switching VS Packet Switching Packet Switching jeweled-rumba-f54.notion.site
공부기록 요약 날짜 과목 세부 내용 기타 2022. 12. 25(일) . . . 2022. 12. 26(월) CS, 알고리즘 멀티스레드, SSAFY 과제 . 2022. 12. 27(화) CS, 알고리즘 경쟁상태, 임계영역, SSAFY 과제 . 2022. 12. 28(수) CS, 알고리즘 SSAFY 과제 . 2022. 12. 29(목) CS, 알고리즘 SSAFY 과제 . 2022. 12. 30(금) CS, 알고리즘 SSAFY 과제 . 2022. 12. 31(토) . . . .
백준 14868번: 문명 14868번: 문명 문제 인류의 역사를 돌이켜보면, 문명의 발전은 독자적으로 진행되기도 하지만 서로 다른 문명이 만나 결합되기도 한다. 여러분은 이 가설을 바탕으로, 세계 문명의 발전 과정을 시뮬레이션 해보려고 한다. 세계를 N × N의 2차원 공간으로 생각할 수 있다. 즉, 1×1 크기의 정사각형이 가로, 세로로 각각 N개씩 쌓여있는 형태로 생각할 수 있다. 가장 왼쪽 아래 정사각형은 (1,1), 가장 오른쪽 위 정사각형은 (N,N) 위치에 있다. 두 정사각형 (a, b)와 (a′, b′)은 다음 두 조건 중 하나만 만족할 때 서로 인접해 있다고 하... www.acmicpc.net 접근 방법 (핵심 아이디어) Union-Find + 그래프 탐색, 최적화 하지 않으면 TLE를 피할수 없다, 합쳐진 경우가 아니라 인접한 경우에도 Union 되므로 주의. Union-Find + 그래프 탐색 + 최적화 문제입니다. 제가 생각했을때 가장 까다로운 부분은 A B
백준 1138번: 한 줄로 서기 1138번: 한 줄로 서기 문제 N명의 사람들은 매일 아침 한 줄로 선다. 이 사람들은 자리를 마음대로 서지 못하고 오민식의 지시대로 선다. 어느 날 사람들은 오민식이 사람들이 줄 서는 위치를 기록해 놓는다는 것을 알았다. 그리고 아침에 자기가 기록해 놓은 것과 사람들이 줄을 선 위치가 맞는지 확인한다. 사람들은 자기보다 큰 사람이 왼쪽에 몇 명 있었는지만을 기억한다. N명의 사람이 있고, 사람들의 키는 1부터 N까지 모두 다르다. 각 사람들이 기억하는 정보가 주어질 때, 줄을 어떻게 서야 하는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 사람의 수 N... www.acmicpc.net 접근 방법 (핵심 아이디어) 뒤에서부터 탐색하면, 현재 숫자를 어디에 넣어야 할지 바로 찾을수 있다. 요즘 플레문제 풀다가 코테 대비할겸 실버골드 풀고있는데, 괜찮은 문제라 소개해본다. 문제설명은 따로 하지 않고, 마지막 예제를 보면서 푸는 방법만 짧게 소개하겠다
백준 5427번: 불 5427번: 불 문제 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에는 불이 붙지 않는다. 상근이는 동서남북 인접한 칸으로 이동할 수 있으며, 1초가 걸린다. 상근이는 벽을 통과할 수 없고, 불이 옮겨진 칸 또는 이제 불이 붙으려는 칸으로 이동할 수 없다. 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다. 빌딩의 지도가 주어졌을 때, 얼마나 빨리 빌딩을 탈출할 수 있는지 구하는 프로그램을... www.acmicpc.net 접근 방법 (핵심 아이디어) 단순구현 불은 좌표 내, 벽만 아니면 번질수 있음. 사람은 좌표 밖이면 통과. 좌표 안이고 벽과 불이 아니면 옮길수 있음. 전체 코드 import sys input = sys.stdin.readline di, dj = [1, -1, 0, 0], [0, 0,
백준 2629번: 양팔저울 2629번: 양팔저울 문제 양팔 저울과 몇 개의 추가 주어졌을 때, 이를 이용하여 입력으로 주어진 구슬의 무게를 확인할 수 있는지를 결정하려고 한다. 무게가 각각 1g과 4g인 두 개의 추가 있을 경우, 주어진 구슬과 1g 추 하나를 양팔 저울의 양쪽에 각각 올려놓아 수평을 이루면 구슬의 무게는 1g이다. 또 다른 구슬이 4g인지를 확인하려면 1g 추 대신 4g 추를 올려놓으면 된다. 구슬이 3g인 경우 아래 <그림 1>과 같이 구슬과 추를 올려놓으면 양팔 저울이 수평을 이루게 된다. 따라서 각각 1g과 4g인 추가 하나씩 있을 경우 주어진 구슬이 3g... www.acmicpc.net 접근 방법 (핵심 아이디어) 내가 가지고 있는 추로만 만들수 있는 무게가 {a, b, c, ... } 인 상황에서 무게 k인 추가 새로 들어온다면 내가 만들수 있는 무게는 {k, a+k, b+k, c+k, ....., abs(a-k), abs(b-k), abs(c-k), .
백준 1939번: 중량제한 1939번: 중량제한 1939번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 강의 질문 게시판 중량제한 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 28916 7609 4720 25.110% 문제 N(2 ≤ N ≤ 10,000)개의 섬으로 이루어진 나라가 있다. 이들 중 몇 개의 섬 사이에는 다리가 설치되어 있어서 차들이 다닐 수 있다. 영식 중공업에서는 두 개의 섬에 공장을 세워 두고 물품을 생산하는 일을 하고 있다. 물품을 생산하다 보면 공장에서 다른 공장으로 생산 중이던 물품을 수송해야 할 일이 생기곤 한다. 그런데... www.acmicpc.net 접근 방법 (핵심 아이디어) 이분탐색 + BFS 를 활용하여 1, 10^9 사이에 존재하는 가능한 최댓값을 찾는다. 문제에서 각 다리가 견딜수 있는 무게의 범위가 [1, 10^9] 라고 했음. 그럼 정답도 분명히 같은 범위 안에 존재할 것임. start, end = 1, 1
백준 16929번: Two Dots 16929번: Two Dots 각각의 칸은 색이 칠해진 공이 하나씩 있다. 이 게임의 핵심은 같은 색으로 이루어진 사이클을 찾는 것이다. 다음은 위의 게임판에서 만들 수 있는 사이클의 예시이다. 점 k개 d 1 , d 2 , ..., d k 로 이루어진 사이클의 정의는 아래와 같다. 모든 k개의 점은 서로 다르다. k는 4보다 크거나 같다. 모든 점의 색은 같다. 모든 1 ≤ i ≤ k-1에 대해서, d i 와 d i+1 은 인접하다. 또, d k 와 d 1 도 인접해야 한다. 두 점이 인접하다는 것은 각각의 점이 들어있는 칸이 변을 공유한다는 의미이다. 게임... www.acmicpc.net 접근 방법 (핵심 아이디어) DFS로 길이 4 이상의 사이클 여부를 확인한다. 문제를 요약하면, 길이 4 이상의 사이클을 찾는 문제입니다. 시작위치를 가지고 DFS를 돌면서 4개 이상 지나왔고, 자기 자신으로 돌아오면 True를 반환하여줍니다. 한 점에서 갈
CORS 작동방식 1. 예비요청 ( preflight request ) 브라우저의 요청이 특정 조건을 만족하지 않는다면, 대부분의 경우 예비 요청을 먼저 보낸다.! 먼저 브라우저는 OPTION 메소드로 자신의 출처와 본 요청에 사용할 메소드와 헤더를 서버로 보낸다. 서버는 이 예비요청에 대한 응답으로 허용되는 Origin 목록, 허용되는 메소드와 헤더 목록, 해당 예비 요청이 브라우저에 남아있을수 있는 시간 등을 보낸다. 브라우저는 이 응답을 보고, 본 요청을 보내도 된다고 판단하면 그때 본 요청을 보낸다. 브라우저의 예비요청 OPTIONS Origin : http://front-server.com Access-Control-Request-Method : GET Access-Control-Request-Header : Content-Type 예비요청에 대한 서버의 응답 Access-Control-Allow-Origin : * Access-Control-Allow-Methods : G
백준 23289번: 온풍기 안녕! 23289번: 온풍기 안녕! 유난히 추운 날씨가 예상되는 이번 겨울을 대비하기 위해 구사과는 온풍기를 설치하려고 한다. 온풍기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)의 온도를 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 구사과의 성능 테스트는 다음과 같은 작업이 순차적으로 이루어지며, 가장 처음에 모든 칸의 온도는 0이다. 문제의 그림에서 빈 칸은 온도가 0인 칸을 의미한다. 집에 있는 모든 온풍기에서 ... www.acmicpc.net 접근 방법 (핵심 아이디어) 플레5 구현. 온풍기에서 바람이 나오는 로직이 젤 어렵지롱 오랜만에 만나는 빡구현 문제입니다. 파이썬 아니였으면 엄두도 안났을 문제 ㅋㅋ. 크게 다섯 스텝으로 문제가 나눠지는데, 온풍기에서 바람이 나오는 로직이랑 온도가 조절되는 로
백준 1303번: 전쟁 - 전투 1303번: 전쟁 - 전투 1303번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 전쟁 - 전투 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 10954 4254 3395 37.967% 문제 전쟁은 어느덧 전면전이 시작되었다. 결국 전투는 난전이 되었고, 우리 병사와 적국 병사가 섞여 싸우게 되었다. 그러나 당신의 병사들은 흰색 옷을 입고, 적국의 병사들은 파란색 옷을 입었기 때문에 서로가 적인지 아군인지는 구분할 수 있다. 문제는 같은 팀의 병사들은 모이면 모일수록 강해진다는 사실이다. N명이 뭉쳐있을 때는 N 2... www.acmicpc.net 접근 방법 (핵심 아이디어) DFS, BFS 중 아무거나 사용해서 인접한 칸의 개수를 세면 된다. 오랜만에 쉬운 문제. 어떤 방법을 사용해서든, 인접한 칸의 개수를 세주면 됩니다. 이번 문제에서는 dfs로 푸는게 코드가 깔끔한 느낌이 강해서 사용해보았습니당. 전체
먼저 HTTP를 알아보자 Hypertext Transfer Protocol의 약자. 주로 HTML을 전송하기 위한 통신규약 데이터 통신할때 따로 암호화를 하지 않음. 로그인을 하려고 서버로 비밀번호를 전송할때, 비밀번호가 암호화되지 않고 그대로 네트워크 망을 거쳐서 서버로 전송되는데, 굉장히 위험함. 그래도 등장한 것이 HTTPS. 그래서 HTTPS가 무엇이냐면 HTTP over SSL, HTTP Secure 등으로 불린다! HTTP에 데이터 암호화가 추가된 프로토콜이다. 기존 HTTP에 비해 안전함. HTTP가 TCP/UDP 등의 프로토콜을 사용한다면 HTTPS는 추가로 SSL/TLS의 프로토콜을 사용하여 보안성을 높인 것이다! SSL과 TLS. 네스케이프에서 SSL을 개발했고, 표준화 기구인 IETF에서 관리하기로 하면서 TLS로 이름이 바뀐것 뿐. TLS 1.0은 SSL 3.0을 계승한다.
백준 2661번: 좋은수열 2661번: 좋은수열 2661번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 좋은수열 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 12075 5889 4515 49.845% 문제 숫자 1, 2, 3으로만 이루어지는 수열이 있다. 임의의 길이의 인접한 두 개의 부분 수열이 동일한 것이 있으면, 그 수열을 나쁜 수열이라고 부른다. 그렇지 않은 수열은 좋은 수열이다. 다음은 나쁜 수열의 예이다. 33 3 2121 323 123123 213 다음은 좋은 수열의 예이다. 2 32 32123 1232123 길이가 N인 ... www.acmicpc.net 접근 방법 (핵심 아이디어) 백트래킹. 조건을 만족하는 순간 모든 재귀를 탈출하도록 구현해야됨. 어렵지 않은 백트래킹입니다. [1, 2, 3] 순서로 탐색한다면 가장 먼저 N자리가 만들어졌을때가 가장 작은 좋은수열입니다. 문제에서 가장 작은 좋은수열을 출력하라고 했으므로 더
백준 2660번: 회장뽑기 2660번: 회장뽑기 2660번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 회장뽑기 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 8177 4405 3488 54.637% 문제 월드컵 축구의 응원을 위한 모임에서 회장을 선출하려고 한다. 이 모임은 만들어진지 얼마 되지 않았기 때문에 회원 사이에 서로 모르는 사람도 있지만, 몇 사람을 통하면 모두가 서로 알 수 있다. 각 회원은 다른 회원들과 가까운 정도에 따라 점수를 받게 된다. 예를 들어 어느 회원이 다른 모든 회원과 친구이면, 이 회원의 점수는 1점이다.... www.acmicpc.net 접근 방법 (핵심 아이디어) 다른 모든 사람까지의 거리중 최댓값이 점수입니다. 기본 BFS 문제. DFS로도 가능. 연결된 모든 정점들을 탐색하면서 원래 정점과의 거리를 저장하여 둡니다. 거리 중 최댓값이 문제에서 말하는, "회장뽑기"에 사용될 점수입니다. 전체 코드 fro
SSL이 사용하는 암호화 방식 SSL은 성능과 보안상의 이유로 대칭키 암호화 방식과 비대칭키 암호화 방식을 동시에 사용한다. 그러므로 우리는 각 암호화 방식의 작동원리를 알아야만 합니다! 대칭키 암호화 방식 뭐가 대칭이란 것일까? 그것은 바로 암호화 할때 쓰는 키와 복호화 할때 쓰는 키가 대칭이란 것이다 ~~ “I LOVE YOU”를 “0987”이라는 키로 암호화 한 결과가 “oAK1#jp3” 이라고 가정해보자. 암호화된 “oAK1#jp3” 에서 원래 값(평문)을 얻어오기 위해서는 반드시 암호화 할때 사용하였던 “0987” 이라는 키를 알아야만 한다. 암호화, 복호화 할때 비교적 컴퓨터 자원을 적게 잡아먹는다. 그러나 키를 탈취당하면 그대로 평문이 노출되므로, 키 자체를 비밀리에 관리해야 할 필요가 있다. 클라이언트와 서버가 대칭키로 암호화/복호화를 하기 위해서는 키를 주고받는 과정은 필수적인데, 이때가 위험함. 다시 말하자면 암.복호화 속도는 빠르지만, 키를 건네는 과정 자체가 어
백준 2234번: 성곽 2234번: 성곽 문제 대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하시오. 이 성에 있는 방의 개수 가장 넓은 방의 넓이 하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크기 위의 예에서는 방은 5개고, 가장 큰 방은 9개의 칸으로 이루어져 있으며, 위의 그림에서 화살표가 가리키는 벽을 제거하면 16인 크기의 방을 얻을 수 있다. 성은 M × N(1 ≤ M, N ≤ 50)개의 정사각형 칸으로 이루어... www.acmicpc.net 접근 방법 (핵심 아이디어) 모든 벽을 부수어보는 Brute Force + 벽으로 둘러쌓여진 방의 크기를 구하는 BFS/DFS. 방의 크기를 구하는 그래프 탐색은 웰-논 설명을 생략한다. 사실 모든 벽을 부수어 보는게 TLE를 의심해서 최적화를 시도해보았는데, 다시 생각해보니 완탐
백준 2564번: 경비원 2564번: 경비원 문제 동근이는 무인 경비 회사 경비원으로 항상 대기하고 있다가 호출이 들어오면 경비차를 몰고 그 곳으로 달려가야 한다. 동근이가 담당하고 있는 곳은 직사각형 모양의 블록으로 블록 중간을 가로질러 차가 통과할만한 길이 없다. 이 블록 경계에 무인 경비를 의뢰한 상점들이 있다. 예를 들어 가로의 길이가 10, 세로의 길이가 5인 블록의 경계에 무인 경비를 의뢰한 3개의 상점이 있다고 하자. <그림 1>과 같이 이들은 1, 2, 3으로 표시되어 있고, 동근이는 X로 표시한 위치에 있다. < 그림 1 > 1번 상점에서 호출이 들어 왔을 때... www.acmicpc.net 접근 방법 (핵심 아이디어) 어처피 테두리만 걸어다닐거니까, 테두리만 1자로 펴보자 그냥 구현문제인데, 각 테두리를 아래 그림처럼 1자로 펴주자. 그러면 그냥 좌표값 차이로 바로 거리를 구할수 있음. 왼쪽, 오른쪽 두개 다 가봐야 하니까 (거리차이의 절댓값, 테두리길이 - 거리
백준 6593번: 상범 빌딩 6593번: 상범 빌딩 문제 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 지나갈 수 없거나, 비어있어서 지나갈 수 있게 되어있다. 당신은 각 칸에서 인접한 6개의 칸(동,서,남,북,상,하)으로 1분의 시간을 들여 이동할 수 있다. 즉, 대각선으로 이동하는 것은 불가능하다. 그리고 상범 빌딩의 바깥면도 모두 금으로 막혀있어 출구를 통해서만 탈출할 수 있다. 당신은 상범 빌딩을 탈출할 수 있을까? 만약 그렇다면 얼마... www.acmicpc.net 접근 방법 (핵심 아이디어) 3차원 탐색(BFS/DFS) 3차원 탐색입니다. 2차원 배열을 탐색할때, 상하좌우 4개의 방향만 인접한 노드로 보고 탐색했다면 높이를 고려한 6개의 방향을 모두 인접한 노드로 보고 탐색해주면 됩니다. 입력받는 배열이 3차원이라는 것만 조심하면
빌더 패턴 예제 public class Cat { int size; int age; String name; private Cat(int size, int age, String name) { this.size = size; this.age = age; this.name = name; } public static class Builder { int size = 0; int age = 0; String name = null; public Builder setAge(int age) { this.age = age; return this; } public Builder setName(String name) { this.name = name; return this; } public Builder setSize(int size) { this.size = size; return this; } public Cat build() { return new Cat(size, age, name); } } }
알고리즘 하루에 한 문제씩 백준에서 풀고 있음 세그먼트 트리 같이 코테에 안나올거 같은 어려운 유형은 일부러 피하는 중. DP, 누적합, 이분탐색, DFS/BFS, 그리디 등 코테에 나올법한 유형만 골라서 품. 실버1 ~ 골드 1 사이의 난이도만 푸는중. 더 어려운 문제는 코테 대비용으로는 적합하지 않다고 봄. 1100문제까지 30문제 남았다. CS 알고리즘을 공부하면서 자료구조 쪽은 어느정도 마무리가 된 느낌. 네트워크, 운영체제의 굵직한 주제 위주로 공부하고 있음. 프로세스/스레드의 차이, OSI 7계층, HTTP, TCP/UDP, CORS 등등.. 모든 주제가 초면이라 어려움을 겪는 중. 최소 2~3번씩은 반복해야 기억에 남을듯. 프로젝트 등 SSAFY에서 2학기 동안 총 세개의 프로젝트를 진행하는데 저번주에 하나가 끝났음. 플젝은 따로 준비를 안해도, SSAFY 과정을 따라가면서 얼추 다 채울수 있을거 같음. 그래서 내가 해야할건 내 깃헙에 포폴용으로 따로 정리해야하고, SS
백준 17425번: 약수의 합 17425번: 약수의 합 17425번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 강의 질문 게시판 약수의 합 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 (추가 시간 없음) 512 MB 11488 2761 2076 25.222% 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자... www.acmicpc.net 접근 방법 (핵심 아이디어) 어떤 수의 약수를 구하려고 하지 말고, 어떤 수의 배수들의 관점에서 문제를 풀어보자. dp[i] = > i의 약수의 합을 저장하는 dp 배열을 정의하자. 1부터 문제에서 제시한 최댓값인 100만까지 반복문을 돌면서, 다음의 행위를 하자.
TCP 3-way handshake 세번의 TCP 세그먼트의 교환으로 연결을 설정한다. 첫번째 세그먼트는 SYN flag 값을 1로 설정하고 초기 seq을 알려준다. SYN flag : 1, ACK flag : 0, SEQ : 1000 두번째 세그먼트는 SYN flag, ACK flag 값을 1로 설정하고 ACK 값을 SEQ + 1로 적는다. SYN flag : 1, ACK flag ; 1, ACK : 1001, SEQ : 7500 세번째 세그먼트는 SYN flag, ACK flag 값을 1로 설정하고 ACK 값을 SEQ + 1로 적는다. SYN flag : 1, ACK flag ; 1, ACK : 7501, SEQ : 1001 TCP 4-way handshake 각 방향으로 별도로 해제 각각 2개의 세그먼트 교환 해제 요청 FIN flag를 1로 설정 ACK 를 확인하여 해제요청을 받아들임 출처: 유튜브 이산수학
백준 2250번: 트리의 높이와 너비 2250번: 트리의 높이와 너비 문제 이진트리를 다음의 규칙에 따라 행과 열에 번호가 붙어있는 격자 모양의 틀 속에 그리려고 한다. 이때 다음의 규칙에 따라 그리려고 한다. 이진트리에서 같은 레벨(level)에 있는 노드는 같은 행에 위치한다. 한 열에는 한 노드만 존재한다. 임의의 노드의 왼쪽 부트리(left subtree)에 있는 노드들은 해당 노드보다 왼쪽의 열에 위치하고, 오른쪽 부트리(right subtree)에 있는 노드들은 해당 노드보다 오른쪽의 열에 위치한다. 노드가 배치된 가장 왼쪽 열과 오른쪽 열 사이엔 아무 노드도 없이 비어있는 열은 없다. 이... www.acmicpc.net 접근 방법 (핵심 아이디어) 노드의 "너비"는 중위순회되는 순서와 같습니다. 노드의 너비에 할당된 값을 천천히 살펴보다 보면 중위순회에서 탐색되는 순서과 같다는 사실을 발견할수 있게 됩니다. cur_width를 1부터 시작하여 중위순회 될때마다 1씩 늘
TCP 혼잡제어 혼잡(체증) 망에 입력되는 트래픽 양이 망이 처리할수 있는 한도를 초과할 경우 체증이 발생한다. input 되는 패킷량보다 output되는 패킷량이 현저히 적은 상황임. 혹은 입력된 패킷량이 응답되는데에 delay시간이 늘어나는 상황. 패킷망에서는 트래픽의 흐름이 일정하지 않음. 혼잡제어는 혼잡을 완화하기 위한 수단이지, 근본적인 해결은 망의 처리용량 자체를 늘려야됨 흐름제어와의 차이점 흐름제어는 송신측 전송속도와 수신측 처리속도의 차이가 주 원인임. 하지만 혼잡제어는 그 원인이 이루 말할수 없이 복잡하다. 네트워크 전체 망에서 원인을 찾아야 하기 때문. 어느 한 라우터에서 흐름이 원활하지 않다던가 등. 어떻게 혼잡(체증)을 제어할수 있을까? 예방적 혼잡제어 사전에 망에 입력되는 트래픽 양을 조절한다. 망 사업자와 사용자 사이에 계약을 통해 사전에 전송할 데이터의 양을 정한다. (call admission control) 망 사업자는 사용자가 사전에 약속된 트래픽 양
백준 17435번: 합성함수와 쿼리 17435번: 합성함수와 쿼리 17435번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 강의 질문 게시판 합성함수와 쿼리 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 512 MB 4143 2258 1471 52.479% 문제 함수 f : {1, 2, ..., m}→{1, 2, ..., m}이 있다. 이때 f n : {1, 2, ..., m}→{1, 2, ..., m}을 다음과 같이 정의하자. f 1 (x) = f(x) f n+1 (x) = f(f n (x)) 예를 들어 f 4 (1) = f(f(f(f(1))))이다. n과 x가 주어질 때 f ... www.acmicpc.net 접근 방법 (핵심 아이디어) sparase matrix (희소 행렬)을 사용하여 f^n(x)를 logN에 구할수 있다. 희소행렬 기본문제. 일단, 이 문제를 막 풀면 어떻게 되는지부터 설명하겠음. N이 50만, Q가 20만임. 각각의 쿼리마다 f^n(x)를
파이썬에서 psutil 라이브러리로 사용중인 메모리의 양을 알수 있다. psutil 라이브러리를 사용하면 현재 실행중인 프로세스의 정보를 얻어올수 있는데, 여기서 memory_info를 부르면 메모리 정보를 알수 있다. 여러 메모리 정보중에 rss(resident set size), 즉 실제 할당된 물리 메모리 양을 얻을수 있다. 단위는 byte임. KB 로 변환하려면 2^10 으로 나눠주면 됨 MB 로 변환하려면 2^20 으로 나눠주면 됨 추가 ) 0으로 초기화된 10000 * 10000 배열을 선언하면 약 800MB 정도의 메모리가 할당됨. 파이썬으로 알고리즘 문제 풀때, MLE를 피하기 위해 참고하면 좋을듯. import psutil N = 10000 M = 10000 arr = [[0] * M for _ in range(N)] memory = psutil.Process().memory_info().rss / 2 ** 20 print(f'{N}*{M} arr, use memor
CORS 그런데 다른 출처에도 자원을 요청할 일이 생겼다면??? 그래서 등장한 것이 CORS(Cross Origin Resource Sharing) 원래대로라면 SOP에 의해 다른 출처로 요청을 보내는 것이 막혔어야 하지만, 요청을 보낼수 있도록 풀어주는 정책이 CORS이다. 다시 말해, CORS 조항을 지킨 요청에 대한 응답은 예외적으로 브라우저가 막지 않고 허용한다는 의미 브라우저의 CORS 기본 동작 원리를 살펴보자 클라이언트에서 HTTP 요청의 헤더에 자신의 Origin을 담아서 전달 HTTP 프로토콜을 사용해서 요청을 보낼때, 요청의 헤더에 Origin이라는 필드에 자신의 출처를 함께 담아서 보냄 서버는 요청에 대한 응답을 할때 헤더에 Access-Control-Allow-Origin을 담아 클라이언트에 전달함 이 헤더에는 “이 리소스에 접근하는 것이 허용된 출처”가 담겨있음 클라이언트에서는 자신의 보냈던 Origin과 응답의 헤더인 Access-Control-Allow-O
백준 16987번: 계란으로 계란치기 16987번: 계란으로 계란치기 문제 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱걸이를 5회 하는 기적의 운동 루틴을 통해 뇌와 근육을 동시에 단련한다. 근육을 단련할 때 식단이 정말로 중요하다는 것을 아는 인범이는 탄수화물이 많은 밥이나 빵 따위의 아침 식사를 대신해 단백질이 많은 계란찜을 해먹는다. 계란찜을 먹기 위해서는 계란을 깨야 하는데, 인범이는 힘이 너무 넘치는 나머지 부엌의 대리석을 이용해 계란을 깨... www.acmicpc.net 접근 방법 (핵심 아이디어) 파이썬으로 너무 힘들었다..구현 자체는 어렵지 않으므로 다른 언어로 풀것을 추천. 거의 기본 DFS. 지문 이해하는데 시간이 좀 걸렸다. 지문을 요약해주자면, 왼쪽부터 순서대로 하나씩 집어서 맘에 드는거 깨면 된다. 단, 내
백준 1700번: 멀티탭 스케줄링 1700번: 멀티탭 스케줄링 1700번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 멀티탭 스케줄링 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 24377 6375 4789 26.463% 문제 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전기용품의 플러그를 뺐다 꽂았다 하는 불편함을 겪고 있다. 그래서 준규는 자신의 생활 패턴을 분석하여, 자기가 사용하고 있는 전기용품의 사용순... www.acmicpc.net 접근 방법 (핵심 아이디어) 1 - 내가 사용하려는게 이미 꽂혀있으면 pass. 2 - 콘센트에 자리가 남아있으면 내거를 꽂는다. 3 - 자리가 하나도 없어서 뽑아야 할때는, 꽂혀진 플러그들 중에서 앞으로 사용하지 않거나, 가장 나중에 사용될 플러그를 뽑는다.
백준 2212번: 센서 2212번: 센서 2212번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 센서 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 10431 5082 4127 48.044% 문제 한국도로공사는 고속도로의 유비쿼터스화를 위해 고속도로 위에 N개의 센서를 설치하였다. 문제는 이 센서들이 수집한 자료들을 모으고 분석할 몇 개의 집중국을 세우는 일인데, 예산상의 문제로, 고속도로 위에 최대 K개의 집중국을 세울 수 있다고 한다. 각 집중국은 센서의 수신 가능 영역을 조절할 수 있다. 집중국의 수신 가능 영역은 고속도로 ... www.acmicpc.net 접근 방법 (핵심 아이디어) 각 센서 간의 위치 차이를 내림차순 정렬해서 앞의 (K-1)개를 제외하고 더해주면 정답임. 그리디알고리즘. 문제를 다르개 해석해보면 각 센서를 그리디하게 K개의 그룹으로 묶는 것과 동치임. 문제의 예제 입력 1을 정렬해서 써보자. 1 3 6 6 7 9
세션 서버에서 생성되는 기본객체 서버는 브라우저의 요청을 받았을때, 어떤 브라우저인지 식별해야함. 식별하기 위해 세션이라는 객체를 만듬 세션아이디를 쿠키에 담아서 응답함 브라우저는 이 쿠키를 로컬에 저장해놓고, 요청할때마다 쿠키를 같이 보냄. 서버는 요청의 헤더에 포함된 세션 아이디를 가지고 어떤 브라우저였는지 식별이 가능하다~~^^ 세션 베이스 로그인 사용자가 로그인 요청을 보냄 로그인이 성공하면 서버는 Session ID, TimeOut, UserID 등을 반환함 앞으로 사용자는 쿠키에 Session ID를 담아서 보낼 것이고, 서버는 쿠키에 담김 Session ID를 가지고 로그인 유무를 판단함. + TimeOut 갱신, 등등. I/O 부하가 큼 문제점들 서버가 많아지면? 로드밸런싱을 해서 서버 부하를 줄여야됨 서버 1에서 SessionID를 주면, 서버 2에서는 로그인 유무 확인이 불가능 그래서 Session DB를 따로 두면? 모든 서버가 Session DB를 참조하게 되어
23년 2월 11일 오전 10시에 응시하였던 스프링 데브매칭에 합격했다. 4문제 모두 풀었다. !! 1번은 정렬 2번은 BFS 3번은 DFS? 4번은 SQL이였다. 1,2,4 번은 쉬운 편에 속했는데, 3번은 탈출조건 생각해내는게 정말 까다로웠다.
1. 개요 블로그에 글 쓸 시간이 너무 없었다. 싸피에서 플젝하고 집에 오면 반 녹초가 되는데, 밥먹고 1일 알고리즘, CS 등등 하다보면 잘시간이더라 ㅎㅎ; 그래도 짬을 내서 요근래 한달간 뭐 하고 지냈는지 공유하려고 한다. 2. SSAFY 2학기 공통프로젝트 1월 초부터 시작한 SSAFY 첫학기 공통프로젝트. 사실 SSAFY에 가장 들어오고 싶었던 이유가 2학기 프로젝트들 때문이여서 많은 기대를 하고 시작했다. 여럿이 한데 모여서 같은 문제를 고민하는게 얼마나 재밌을까? 뭐 이런. 실제로도 재미있게 개발하고 있다. ㅎㅎ; 처음 3주간은 프로젝트 기획, ERD, API 명세, 와이어프레임 등 각종 산출물을 설계하고 다듬었다. 솔직히 말하면 정말 지루하고 재미없었다. 늘 들었던 생각이 "빨리 개발하고 싶다.." 였을 정도로 설계해야할 부분들이 여간 많은게 아니였다. 지금 생각해보면 이때 고생해놔서 좀 편하게 개발했던 것 같디고 하다. 4주차에 들어서고부터 본격적인 개발에 들어갔다.
백준 13398번 : 연속합 2 13398번: 연속합 2 13398번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 강의 질문 게시판 연속합 2 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 512 MB 17994 5380 3979 29.529% 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 또, 수열에서 수를 하나 제거할 수 있다. (제거하지 않아도 된다) 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -... www.acmicpc.net 접근 방법 (핵심 아이디어) dp[i][0] => i번째 원소를 반드시 사용하고 i번째 원소까지는 숫자를 버리지 않았을때의 연속된 부분수열의 최댓값 dp[i][1] => i번째 원소를 반드시 사용하고 i번째 원소까지 숫자를 딱 한번 버렸을때의 연속된 부분수열의 최댓
백준 1030번: 프렉탈 평면 1030번: 프렉탈 평면 문제 프렉탈 평면은 다음과 같이 커진다. 시간 0에서 프렉탈은 흰색 정사각형 하나이다. 단위 시간(1)이 진행될 때마다 N×N개의 크기가 동일한 단위 정사각형으로 나누어진다. 만약 나누어진 정사각형이 흰색이라면 가운데 K×K 정사각형이 검정색으로 채워진다. N과 K는 둘 다 홀수이거나, 둘 다 짝수이다. 예를 들어, N=3, K=1이라면, 시간 1에 3×3 정사각형이 된다. 가운데 정사각형은 검정색이고, 나머지는 흰색이 된다. 시간 2때 9×9 정사각형이 되고, 17개는 검정이고, 나머지는 흰색이다. s, N, K, R 1 , R ... www.acmicpc.net 접근 방법 (핵심 아이디어) N^s는 최대 8^10 이므로, 모든 격자를 저장할수 없다. 출력해야 하는 격자의 수는 최대 2500개이므로, 해당 격자에 대해서만 검은색 칸인지, 흰색 칸인지만 판단해서 출력하자. 아이디어는 떠올리기 쉬웠지만, 격자가 쪼개지면서 늘어나는
TCP 특징 스트림으로 전달 연결형 방식 수신한 패킷에 대해 반드시 ACK을 전송함 에러제어 흐름제어 순서보장 혼잡제어 TCP 통신이란? 신뢰지향형 프로토콜 비신뢰성인 네트워크 세상에서 신뢰성을 보장할수 있도록 해줌 혼잡 방지 알고리즘을 사용함. 수송계층 목적지 호스트에 도착한 패킷은 호스트의 최종 응용 프로세스에 전달되어야 한다. transport layer는 프로세스의 주소에 따라서 패킷을 응용 프로세스제에 전달하는 역할을 한다. Application Layer의 요구 신뢰성 서비스 프로세스는 상대방 프로세스가 전달한 메세지가 아무 오류없이, 순서대로 그대로 자신에게 전달되기를 기대한다. 오류가 있는지, 있다면 수정하는 작업까지 하위 계층에서 모두 해주기를 기대한다. 그렇지 않으면 오류를 확인/수정하는 작업을 자신이 해야하니까 TCP 비신뢰성 서비스 메세지에 오류가 발생해도 상관하지 않는다. 하위 계층이 오류를 확인/수정하는 작업을 하는 것을 원하지 않음. UDP TCP를 사용하
백준 11497번: 통나무 건너뛰기 11497번: 통나무 건너뛰기 문제 남규는 통나무를 세워 놓고 건너뛰기를 좋아한다. 그래서 N개의 통나무를 원형으로 세워 놓고 뛰어놀려고 한다. 남규는 원형으로 인접한 옆 통나무로 건너뛰는데, 이때 각 인접한 통나무의 높이 차가 최소가 되게 하려 한다. 통나무 건너뛰기의 난이도는 인접한 두 통나무 간의 높이의 차의 최댓값으로 결정된다. 높이가 {2, 4, 5, 7, 9}인 통나무들을 세우려 한다고 가정하자. 이를 [2, 9, 7, 4, 5]의 순서로 세웠다면, 가장 첫 통나무와 가장 마지막 통나무 역시 인접해 있다. 즉, 높이가 2인 것과 높이가 5인 것도 서로... www.acmicpc.net 접근 방법 (핵심 아이디어) 언제나 인접한 칸이 최대 두칸만 차이나게 배치할수 있습니다. 이게 뭔말이냐면, 높이순으로 정렬해서 두칸 이상 차이나는 곳이 없게 배치할수 있다는 말입니다. 홀수개, 짝수개 나누어서 설명해보겠슴다. <짝수> 1번부터 2k번 까지
HashTable(HashMap)의 특징 적은 리소스로 많은 데이터를 효율적으로 관리할수 있음. 예를 들어 1부터 1000억 사이의 값을 가지는 데이터를 저장해야 한다고 가정하자. 길이 1000억의 리스트를 만드는건 불가능. 해쉬 함수를 f(x) = x mod 100,000 정도로 정의하면 100,000 길이의 리스트로 관리가 가능함. 해당 함수의 치역은 0이상 100,000 미만임이 보장됨. 검색이 O(1)임 해쉬값 자체를 인덱스로 해서 존재유무를 알수 있음. 삽입/삭제도 O(1)임 해쉬값 자체를 인덱스로 해서 데이터의 값을 저장함. 해쉬 충돌을 해결해야함 현대까지 개발된 모든 해시함수는 충돌을 일으키는 것으로 확인되었음. 충돌을 피하기 보다, 모든 해시값 전체에 균등하게 충돌이 발생되게 하는 것이 중요함. 극단적으로 한 버켓에 모든 데이터가 몰리면 list보다 성능이 떨어지게 됨.
백준 1058번: 친구 1058번: 친구 문제 지민이는 세계에서 가장 유명한 사람이 누구인지 궁금해졌다. 가장 유명한 사람을 구하는 방법은 각 사람의 2-친구를 구하면 된다. 어떤 사람 A가 또다른 사람 B의 2-친구가 되기 위해선, 두 사람이 친구이거나, A와 친구이고, B와 친구인 C가 존재해야 된다. 여기서 가장 유명한 사람은 2-친구의 수가 가장 많은 사람이다. 가장 유명한 사람의 2-친구의 수를 출력하는 프로그램을 작성하시오. A와 B가 친구면, B와 A도 친구이고, A와 A는 친구가 아니다. 입력 첫째 줄에 사람의 수 N이 주어진다. N은 50보다 작거나 같은 ... www.acmicpc.net 접근 방법 (핵심 아이디어) 나의 2-친구들은 내 친구 + 내 친구의 친구 입니다. 많이 어려운 문제는 아니고, set 등의 자료구조를 활용하여 2-친구의 수를 중복 없이 카운트 하는게 핵심인 문제입니다. 2-친구의 수는 내 친구들 + 내 친구들의 친구들 입니다. 미리 friend
백준 2665번: 미로만들기 2665번: 미로만들기 문제 n×n 바둑판 모양으로 총 n 2 개의 방이 있다. 일부분은 검은 방이고 나머지는 모두 흰 방이다. 검은 방은 사면이 벽으로 싸여 있어 들어갈 수 없다. 서로 붙어 있는 두 개의 흰 방 사이에는 문이 있어서 지나다닐 수 있다. 윗줄 맨 왼쪽 방은 시작방으로서 항상 흰 방이고, 아랫줄 맨 오른쪽 방은 끝방으로서 역시 흰 방이다. 시작방에서 출발하여 길을 찾아서 끝방으로 가는 것이 목적인데, 아래 그림의 경우에는 시작방에서 끝 방으로 갈 수가 없다. 부득이 검은 방 몇 개를 흰 방으로 바꾸어야 하는데 되도록 적은 수의 방의 색을 ... www.acmicpc.net 접근 방법 (핵심 아이디어) visited[y][x]를 (y,x) 칸까지 가기 위해 바꿔야 하는 방의 최솟값으로 정의하면 된다. 어려운 문제는 아님. 방문체크 대신에 바꿔야 하는 방의 최솟값으로 채워나가면 항상 최솟값이 들어있다. 일반적인 bfs로도 가능하지만, 우선순위
Hash Collision key는 다른데 hash값이 같을때 key도 다르고 hash값도 다른데, capacity로 나눈 모듈러값이 같을때 두 경우 모두 해쉬충돌이라고함. 원천적으로 충돌을 피하는건 불가능하고 충돌이 일어났을때 해결해야함. Hash Collision 해결 체이닝 기법 충돌이 발생한 인덱스 자리에 링크드리스트 기법으로 key, value, next_address를 모두 저장하여 해결 늘리는 타이밍 : 보통 capacity의 3/4정도 차면 두배로 늘림. 개방주소법(설명할 것은 linear probing) 충돌이 발생한 인덱스 자리의 다음 인덱스에 삽입을 시도함. key를 지울때 더미값을 넣어야함!!! 그래야 다음번 버켓을 찾으려는 시도를 하므로. 더미값이 없으면 아 원래 한번도 삽입되지 않은 버켓이구나 하고 바로 끝남. hash table의 사이즈를 늘려야할때, 늘어난 사이즈로 다시 모듈러연산을 해서 확장함 key, value, hash값 세가지를 같이 저장해놓음 그
백준 2302번: 극장 좌석 2302번: 극장 좌석 문제 어떤 극장의 좌석은 한 줄로 되어 있으며 왼쪽부터 차례대로 1번부터 N번까지 번호가 매겨져 있다. 공연을 보러 온 사람들은 자기의 입장권에 표시되어 있는 좌석에 앉아야 한다. 예를 들어서, 입장권에 5번이 쓰여 있으면 5번 좌석에 앉아야 한다. 단, 자기의 바로 왼쪽 좌석 또는 바로 오른쪽 좌석으로는 자리를 옮길 수 있다. 예를 들어서, 7번 입장권을 가진 사람은 7번 좌석은 물론이고, 6번 좌석이나 8번 좌석에도 앉을 수 있다. 그러나 5번 좌석이나 9번 좌석에는 앉을 수 없다. 그런데 이 극장에는 “VIP 회원”들이 있다.... www.acmicpc.net 접근 방법 (핵심 아이디어) 점화식 발견이 쉬운 편입니다. 고정석에 앉을 사람은 자리를 못비켜주니까, 고정석 없이 연속해서 앉아있는 사람들과 정답의 관계를 잘 살펴봅시다. 사실 초반에 감을 못잡다가, 고정석이 없다고 가정하고 N을 3부터 6까지만 직접 그려보면 규칙이 바
Java에서 HashMap이 구현되는 원리 key값을 Hash Function에 넣어서 정수의 해쉬값을 얻는다 이 해쉬값을 hash table의 총 용량, capacity로 모듈러 연산을 함 이 모듈러 연산의 값을 인덱스로 하여 hash table에 value값을 넣는다. 그런데 서로 다른 key값의 해쉬값의 모듈러값이 같을수도 있으므로 key와 value를 쌍으로 넣어야함!!!!! containsKey는 해쉬값으로 계산하므로 평균 O(1) containsValue는 모든 value를 다 돌아봐야하므로 O(N), N은 hash table의 저장된 데이터의 개수 Java에서 HashSet이 구현되는 원리 일단 기본적으로 HashMap을 사용합니다. 이미 HashSet내부에 map = HashMap<T, Object>();이 있음. set에 add할때 value 자리에 PRESENT라는 빈 껍데기 객체를 넣음 set의 contains는 map의 containsKey로 구현됨. 정리하면,
SOP 먼저 SOP를 알아보자 Same Origin Policy(동일 출처 정책)이란 뜻임. 동일 출처로 확인된 서버로만 ajax 요청을 주고받을수 있게 한 정책. 즉, 리소스를 주고 받으려면 기본적으로 같은 출처끼리만 가능함 동일 출처 일단 무엇이 동일 출처인지 알아보자 프로토콜, 호스트, 포트 이 3개가 모두 같아야 동일 출처로 인정함. SOP가 왜 필요한가? SOP의 필요성에 대한 본질적인 물음이다. 상황 1 내가 ssafy.com에 접속해서 중요한 정보(계좌번호?, 카드번호?, 주민번호? 등)을 포함한 정보를 요청하였고, 그에 대한 응답으로 내 브라우저의 세션, 쿠키 등에 해당 정보가 그대로 저장되었다고 가정하자. ssafy.com에 심어진 악성 스크립트가 내 브라우저에 있는 정보를 hacker.com으로 보냈다면?? 상황 2 hacker.com에 방문했고, 특정 행위(버튼을 눌렀다던가, 링크를 눌렀다던가)를 해서 페이지 안에 심어진 악성스크립트 발동! hacker.com에
백준 11780번: 플로이드 2 11780번: 플로이드 2 문제 n(1 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 버스의 정... www.acmicpc.net 접근 방법 (핵심 아이디어) 폴로이드 와샬을 구현하되, i -> j로 갈때 거쳐야 하는 k 값들을 저장해놓으면 재귀적으로 경로를 찾을수 있다. 폴로이드 와샬을 설명할건 아니고, 어떻게 i -> j에서의 최단경로를 알수 있을까?를 고민해보자. 일단 일반적인 폴로이드
백준 1562번: 계단 수 1562번: 계단 수 1562번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 강의 질문 게시판 계단 수 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 9017 4491 3401 49.361% 문제 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N이면서 0부터 9까지 숫자가 모두 등장하는 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. 0으로 시작하는 수는 계단수가 아니다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 1... www.acmicpc.net 접근 방법 (핵심 아이디어) dp[N][i][bit] -> N개의 수를 사용하고 i로 끝나면서 지금까지 bit에서의 1인 자리의 수만 사용해서 만들수 있는 계단수의 개수로 정의한다. 비트마스킹 디피문제였습니다. 계단수 자체는 구하기 어렵지 않지만, 0부터 9까지 모든 숫자를
백준 9527번: 1의 개수 세기 9527번: 1의 개수 세기 9527번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 1의 개수 세기 다국어 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 4421 1694 1322 42.413% 문제 두 자연수 A, B가 주어졌을 때, A ≤ x ≤ B를 만족하는 모든 x에 대해 x를 이진수로 표현했을 때 1의 개수의 합을 구하는 프로그램을 작성하시오. 즉, f(x) = x를 이진수로 표현 했을 때 1의 개수라고 정의하고, 아래 식의 결과를 구하자. ∑ x = A B f ( x ) \[\sum_{x=A}^{B}{f(x... www.acmicpc.net 접근 방법 (핵심 아이디어) 누적합을 이용하면 되는데, 2진수의 규칙을 잘~파악해서 0~2^i -1 에 등장하는 1의 개수를 O(1)에 계산한다. 구간 A<=X<=B를 만족하는 X에 대하여~~~ 를 보자마자 떠올리셔야 하는건 누적합입니다. g(a)를 0<=X<
Java 7이전의 HashTable, 8이후의 HashMap JAVA 7 이전에는 해쉬충돌이 발생했을때 seperated chainig 기법을 활용하여 linked list로 관리. N개의 원소가 모두 한 hash값을 가질때, 삽입, 삭제, 조회에 O(N)임. 리스트를 모두 돌아야 하기 때문에. Thread-Safe함. JAVA 8부터는 자료의 개수가 8개가 넘어가면 Tree로, 6개보다 줄어들면 다시 list로 바꾸어 관리함. 임계값이 연속적(6개, 7개 또는 7개, 8개)이지 않은 이유는 같은 버켓에 값이 추가-삭제-추가-삭제 될때 계속 list-tree-list-tree로 바뀌는 것을 막기 위함. self-balancing binary search tree를 활용함. N개의 원소가 모두 한 hash값을 가져도, 트리 기반이므로 O(logN)에 연산이 가능. Thread-Safe하지 않음. JAVA 8이후의 HashMap은 ThreadSafe하지 않으므로, Collections.
백준 1464번: 뒤집기 3 1464번: 뒤집기 3 1464번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 뒤집기 3 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 1266 439 347 38.090% 문제 세준이는 어떤 문자열 S를 뒤집으려고 한다. 문자열을 뒤집는 방법은 문자열의 길이를 N이라고 하자. i만큼을 뒤집는다는 소리는 그 문자열의 처음부터 정확하게 i개의 문자를 역순으로 뒤집는 것이다. 세준이는 1부터 N까지 수를 차례대로 생각한다. 그리고, 뒤집을지 안 뒤집을지 선택할 수 있다. 예를 들어, S="BCDAF" 이고, 세준이가... www.acmicpc.net 접근 방법 (핵심 아이디어) i번째 원소와 i+1번째 원소의 상대적인 위치를 바꾸기 위해서는, i번째만큼 뒤집고 i+1번째만큼 다시 뒤집어야 합니다. 그리디입니다. 사전순으로 가장 앞서는 문자열을 만들어야 하는데, 그러려면 서로 다른 두 원소를 비교했을때 작은 쪽(여기서
백준 2251번: 물통 16724번: 피리 부는 사나이 문제 피리 부는 사나이 성우는 오늘도 피리를 분다. 성우가 피리를 불 때면 영과일 회원들은 자기도 모르게 성우가 정해놓은 방향대로 움직이기 시작한다. 성우가 정해놓은 방향은 총 4가지로 U, D, L, R이고 각각 위, 아래, 왼쪽, 오른쪽으로 이동하게 한다. 이를 지켜보던 재훈이는 더 이상 움직이기 힘들어하는 영과일 회원들을 지키기 위해 특정 지점에 ‘SAFE ZONE’ 이라는 최첨단 방음 시설을 만들어 회원들이 성우의 피리 소리를 듣지 못하게 하려고 한다. 하지만 예산이 넉넉하지 않은 재훈이는 성우가 설정해 놓은 방향을 분석해서... www.acmicpc.net 접근 방법 (핵심 아이디어) DFS로 모든 경우를 탐색하자. 중복 탐색 방지를 위한 방문 체크는 필수! 문제에 조건에 맞게 물들을 옮겨봅시당. 방문체크해놓고, 이미 한번 담아봤던 물 구조가 나오면 바로 return해줘야 합니다. 이러면 최대 200^3 번의 탐색만 하
이제 스타벅스에 갈수 있게 되었습니다.^^ 요즘 근황은 싸피에서 프로젝트 하고 있고, 개인적으로는 자소서랑 하루에 한문제씩 알고리즘 문제 풀면서 취업준비를 병행하고 있습니당. 맥북으로 코딩하니까 실력이 50% 좋아진 느낌이에용.
bisect_left, bisect_right 직접 구현해보기 이분탐색을 이용하여 상한과 하한을 구해봅시다. biset_left, biset_right의 차이점은 if문 속 등호의 유무 뿐입니다. right에서 arr[m]이랑 val이랑 같아도 s를 올려야 상한이 구해지니까용.~ def bisect_left(arr, val): s, e = 0, len(arr) - 1 while s <= e: m = (s + e) // 2 if arr[m] < val: s = m + 1 else: e = m - 1 return s def bisect_right(arr, val): s, e = 0, len(arr) - 1 while s <= e: m = (s + e) // 2 if arr[m] <= val: s = m + 1 else: e = m - 1 return s
백준 1450번: 냅색문제 1450번: 냅색문제 문제 세준이는 N개의 물건을 가지고 있고, 최대 C만큼의 무게를 넣을 수 있는 가방을 하나 가지고 있다. N개의 물건을 가방에 넣는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 C가 주어진다. N은 30보다 작거나 같은 자연수, C는 10 9 보다 작거나 같은 음이 아닌 정수이다. 둘째 줄에 물건의 무게가 주어진다. 무게도 10 9 보다 작거나 같은 자연수이다. 출력 첫째 줄에 가방에 넣는 방법의 수를 출력한다. 예제 입력 1 복사 2 1 1 1 예제 출력 1 복사 3 예제 입력 2 복사 1 1 1 예제 출력 2... www.acmicpc.net 접근 방법 (핵심 아이디어) N이 최대 30이므로, 모든 부분집합을 구하면 2^30으로 시간초과임. 반절로 나눠서 두개의 부분집합(2^15, 2^15)을 구하고, 이분탐색으로 구해야함. 꽤 유명한 테크닉입니다. 나이브하게 모든 부분집합을 구할수 없으니까, 반절로 나누고 이분
Hash 관련 용어 Hash는 임이의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 것. Hash Function은 Hash 값을 얻기 위해 사용하는 함수 Hash collision은 다른 데이터의 Hash Value가 같아지는 현상 개방주소법, 체이닝 기법 등으로 해결함
1. 토익 혼자 단어랑 기본서만 보고 있다. 11월부터 저녁반 다닐 예정. 2. 사무자동화산업기사 실기 (11/15) 크게 어렵지 않아서, 엑셀/액세스/파워포인트 한 과목씩 기출 한개씩 풀고 있다. 3일에 기출 1회 돌리는 꼴. 3. 파이썬마스터 1급 (11/13) 거의 6만원짜린데, 따고 오려고 한다. 쉽다. 사실 요즘 자격증/토익때문에 파이썬 공부할 시간이 없었는데 이렇게라도 공부.. 4. 일 일단 10월 말까지 하고, 11월 중순부터 같은 곳에서 다시 일하려고 한다. 내년 2월까지니까 끝나면 실업급여도 받을수 있다고 한다. 과외는 하고 있기는 한데, 많이 줄었다. 5. 12월~ 계획 (지금 83학점 + 사무자동화산업기사 16 + 한기대 4과목 12 = 111) 내년 1분기 정보처리기사, 2분기 빅데이터분석기사 시험 보기. 눈수술. 포폴준비. 토익 850↑ 만들어놓기.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 10. 31(일) . . 친구 2021. 11. 01(월) . . 백신 2021. 11. 02(화) . . . 2021. 11. 03(수) 토익 토익 . 2021. 11. 04(목) . . . 2021. 11. 05(금) 토익 토익 . 2021. 11. 06(토) . . . 놀았지롱~~
6만원돈내고 봤는데 너무 허접한 느낌. 제일 높은 1급 봤는데, 난이도를 떠나서 문제 보기 자체가 이상했다. 일단 12월 초에 결과 나오는데, 그때 자격증 후기에서 다시 다루겠다.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 11. 07(일) 토익 토익 . 2021. 11. 08(월) . . . 2021. 11. 09(화) . . . 2021. 11. 10(수) 토익 토익 . 2021. 11. 11(목) 토익, 파이썬 토익, 파이썬 . 2021. 11. 12(금) 사자산기, 파이썬 사무자동화산업기사, 파이썬 . 2021. 11. 13(토) 사자산기, 파이썬 사무자동화산업기사, 파이썬 파이썬마스터 시험 파이썬마스터는 그냥 본건데, 그냥 백준 문제랑 파이썬마스터 기출문제 돌리면서 준비했다. 사무자동화산업기사는 다음주 화요일 시험이다. 두개 시험 끝내고 토익에 집중하면 될것 같다. 아마 그 다음 자격증은 내년 3월 정보처리기사가 될것같다. 그 전까지는 토익.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 11. 14(일) 사무자동화산업기사 사무자동화산업기사 실기 . 2021. 11. 15(월) 사무자동화산업기사 사무자동화산업기사 실기 . 2021. 11. 16(화) 사무자동화산업기사 사무자동화산업기사 실기 사무자동화산업기사 실기 시험 2021. 11. 17(수) 토익 토익 . 2021. 11. 18(목) 토익 토익 . 2021. 11. 19(금) 토익 토익 . 2021. 11. 20(토) 토익 토익 . 당분간 토익.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 11. 21(일) 토익 토익 카페공부 2021. 11. 22(월) 토익 토익 . 2021. 11. 23(화) 토익 토익 . 2021. 11. 24(수) 토익 토익 . 2021. 11. 25(목) 토익 토익 . 2021. 11. 26(금) 토익 토익 . 2021. 11. 27(토) . . . 토익.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 11. 28(일) 토익 토익 . 2021. 11. 29(월) 토익 토익 . 2021. 11. 30(화) 토익 토익 . 2021. 12. 01(수) 토익 토익 . 2021. 12. 02(목) 토익 토익 . 2021. 12. 03(금) 토익 토익 . 2021. 12. 04(토) 토익 토익 . 12.05 시험.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 12. 05(일) 토익 토익 토익 시험 2021. 12. 06(월) 토익 토익 . 2021. 12. 07(화) 토익 토익 . 2021. 12. 08(수) 토익 토익 . 2021. 12. 09(목) 토익 토익 . 2021. 12. 10(금) 토익 토익 . 2021. 12. 11(토) 토익 토익 . ㅇ
from selenium import webdriver from time import sleep from datetime import datetime import zipfile import os import shutil def download_file(): driver = webdriver.Chrome('C:/ChromeDriver/chromedriver.exe') driver.implicitly_wait(3) driver.get('####################') driver.find_element_by_xpath('//*[@id="login_id"]').send_keys('########') driver.find_element_by_xpath('//*[@id="login_pw"]').send_keys('########') driver.find_element_by_xpath('//*[@id="login_fs"]/div[3]/button').click() sleep(1) dr
공부기록 요약 날짜 과목 세부 내용 기타 2021. 12. 12(일) 토익 토익 . 2021. 12. 13(월) 토익 토익 . 2021. 12. 14(화) 토익 토익 . 2021. 12. 15(수) 토익 토익 . 2021. 12. 16(목) 토익 토익 . 2021. 12. 17(금) 토익 토익 . 2021. 12. 18(토) 토익 토익 . .
공부기록 요약 날짜 과목 세부 내용 기타 2021. 12. 19(일) 토익 토익 . 2021. 12. 20(월) 토익 토익 . 2021. 12. 21(화) 토익 토익 . 2021. 12. 22(수) 토익 토익 . 2021. 12. 23(목) 토익 토익 . 2021. 12. 24(금) 토익 토익 . 2021. 12. 25(토) 토익 토익 . .
학점은행제로 106학점 이상 인정받으면 국가기술자격 - 기사등급 시험에 응시할수 있다. 그리고 오늘까지, 지난 1년동안 108학점을 모았다. 휴~~ 내년 정보처리기사 / 빅데이터분석기사 시험에 응시할수 있을것 같다. 열심히 공부해야겠다.
공부기록 요약 날짜 과목 세부 내용 기타 2021. 12. 26(일) 토익 토익 . 2021. 12. 27(월) 토익 토익 . 2021. 12. 28(화) 토익 토익 . 2021. 12. 29(수) 토익 토익 . 2021. 12. 30(목) 토익 토익 . 2021. 12. 31(금) 토익 토익 . 2022. 01. 01(토) 토익 토익 .
공부기록 요약 날짜 과목 세부 내용 기타 2022. 01. 02(일) 토익 토익 . 2022. 01. 03(월) 토익 토익 . 2022. 01. 04(화) 토익 토익 . 2022. 01. 05(수) 토익 토익 . 2022. 01. 06(목) 토익 토익 . 2022. 01. 07(금) 토익 토익 . 2022. 01. 08(토) . . .
요즘에는, 과외할때 말고는 파이썬을 다루지 않는다. 아마 밑에 자격증 실기준비할때나 다시 꺼내서 공부할듯. 3월 : 정보처리기사 필기 4월 : 빅데이터분석기사 필기 5월 : 정보처리기사 실기 6월 : 빅데이터분석기사 실기 올 상반기, 시험일정인데 각 한달씩 여유두고 공부하면 될거 같다. 토익은 꾸준히.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 01. 09(일) 토익 토익 카페 2022. 01. 10(월) 토익 토익 카페 2022. 01. 11(화) 토익 토익 . 2022. 01. 12(수) 토익 토익 . 2022. 01. 13(목) 토익 토익 . 2022. 01. 14(금) 토익 토익 . 2022. 01. 15(토) 토익 토익 카페 토익.
이 강좌에서 배울수 있는 것 ·함수 ·재귀함수 ·람다 함수 ·함수란? 프로그램이 실행될때, 반복적으로 사용되는 부분을 기능별로 묶은 것인데 잘 짜여진 함수로 이루어진 프로그램은 그 흐름을 파악하기 쉽고 오류파악과 수정이 용이하다. if 조건문: '# 조건문 뒤에 콜론(:)을 잊지 말자.' 실행할 코드 '# 조건문이 참일때 실행될 코드는 if문 보다 한단계 더 들여서 써야한다' ·함수를 정의하는 방법 define의 약어인 def 예약어로 함수를 정의합니다. def 함수이름(매개변수1, 매개변수2, ... ): 실행할 코드 return 함수의 반환값 여기서 실행할 코드와 반환값을 구분해야 하는데, 다음과 같은 함수를 보자. def add1(a, b): print('add1호출', a+b) def add2(a, b): print('add2호출') return a+b 위에 정의된 add1 함수는 return문이 생략되어있으므로 컴파일러에 의해 None을 반환한다. 밑에 정의된 add2 함수
이번에는 데이처 처리 예제를 들고 왔다. 사실 눈으로만 비교해도 될만큼 단순한 예제인데, 그 양이 방대할때는 컴퓨터의 힘을 빌리는 것이 바람직하다. 실습 예제 처리해야할 데이터의 일부분이다. 간략히 설명을 하자면, 첫번째 열부터 다섯번째 열까지 순서대로 각 사업장에 대한 19년도 상반기 / 19년도 하반기 / 20년도 상반기 / 20년도 하반기 / 21년도 상반기 매출액이다. 각 반기별 매출을 비교해서, 감소되는 시점이 있다면 지원금을 준다고 가정해 보자. 우리가 매출을 비교해야할 데이터는 총 5천개이다. 지원금을 지급할때, 확실한 확인을 위해 다음과 같이 감소되는 구간을 명시해야 한다. 지급대상이 아닐때는, 그 이유도 명시해야 한다. 각 행의 데이터를 비교해서 다음과 같이 결과를 도출해야한다. 처리 과정 처리해야할 엑셀의 전문 파이썬에서 엑셀을 바로 불러올수도 있지만, 전처리 과정이 까다롭기 때문에, 그냥 데이터만 긁어서 메모장에 넣어주자. split, strip함수 두개로 전처리
공부기록 요약 날짜 과목 세부 내용 기타 2022. 01. 16(일) 토익 토익 . 2022. 01. 17(월) 토익 토익 . 2022. 01. 18(화) 토익 토익 . 2022. 01. 19(수) 토익 토익 . 2022. 01. 20(목) 토익 토익 . 2022. 01. 21(금) 토익 토익 . 2022. 01. 22(토) 토익 토익 . ㅇ
공부기록 요약 날짜 과목 세부 내용 기타 2022. 01. 23(일) 토익 토익 . 2022. 01. 24(월) 정보처리기사, 토익 정보처리기사 1과목 1장, 토익 . 2022. 01. 25(화) 정보처리기사, 토익 정보처리기사 1과목 2,3장, 토익 . 2022. 01. 26(수) 정보처리기사, 토익 정보처리기사 1과목 4장, 2과목 1장 토익 . 2022. 01. 27(목) 정보처리기사, 토익 정보처리기사 2과목 2,3,4,5장, 토익 . 2022. 01. 28(금) 정보처리기사, 토익 정보처리기사 3과목 SQL 인강, 토익 . 2022. 01. 29(토) 정보처리기사 정보처리기사 3과목 SQL 인강 . 정보처리기사 공부 시작. 3과목은 MYSQL 강좌 보면서 틀 잡아가면서 공부하려고 한다.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 01. 30(일) 정보처리기사 정보처리기사 3과목 SQL인강, 기출 . 2022. 01. 31(월) 설연휴 ^^ 2022. 02. 01(화) 2022. 02. 02(수) 2022. 02. 03(목) 정보처리기사 정보처리기사 3과목 SQL인강, 기출 . 2022. 02. 04(금) 정보처리기사 정보처리기사 3과목 기출 . 2022. 02. 05(토) . . . .
공부기록 요약 날짜 과목 세부 내용 기타 2022. 02. 06(일) 정보처리기사 정보처리기사 2과목 기출 . 2022. 02. 07(월) 정보처리기사 정보처리기사 2과목 기출 . 2022. 02. 08(화) 정보처리기사 정보처리기사 2과목 기출, 4과목 개념 . 2022. 02. 09(수) 정보처리기사 정보처리기사 4과목 기출 . 2022. 02. 10(목) 정보처리기사 정보처리기사 4과목 기출 . 2022. 02. 11(금) 정보처리기사 정보처리기사 4과목 기출 . 2022. 02. 12(토) . . .
1. 정보처리기사 필기 내일까지만 보면 5과목 까지 한번씩 기출 돌릴수 있을거 같고, 시험까지 2주정도 남았으니까 1과목부터 다시 보면 될거 같다. 5과목이 많이 어렵다. 예전에 다른 자격증 공부할때는 아이패드에 오답노트를 수기로 적었는데, 이번 정보처리기사는 그냥 메모장에 적는 중이다. 진작 이럴걸. 2. 독학학위제 1단계 시험 다음주 일요일이고, 영어 한과목만 붙었으면 좋겠다는 생각이다. 붙으면 교양 4학점이라. 작년에 두과목은 합격해놨고, 나머지 국어랑 국사는 공부를 아예 안해서. 3. 학점은행제 휴사평인가 그 교육원에서 18학점 꽉채워서 신청했는데, 생각보다 시간을 많이 뺏긴다. 상반기에 정보처리기사랑 빅데이터분석기사 두개 준비하면서 같이 들을수 있을련지 모르겠다. 4. 코로나 16일에 확진판정 받았다. 어디서 걸린건지 모르겠다. 많이 아팠는데 지금은 완전 멀쩡하다.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 02. 13(일) 정보처리기사 정보처리기사 4과목 기출, 5과목 개념 . 2022. 02. 14(월) 정보처리기사 정보처리기사 1과목 기출 복습(전체 모의고사) . 2022. 02. 15(화) . . . 2022. 02. 16(수) 정보처리기사 정보처리기사 5과목 기출 . 2022. 02. 17(목) 정보처리기사 정보처리기사 5과목 기출 . 2022. 02. 18(금) 정보처리기사 정보처리기사 5과목 기출 . 2022. 02. 19(토) 정보처리기사 정보처리기사 5과목 기출 . 1과목부터 5과목까지 총 2개년 기출(개정 후)을 다 봤다. 앞으로 남은 2주간 기출 계속 반복하면 될거 같다.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 02. 27(일) 정보처리기사 정보처리기사 전과목 기출 . 2022. 02. 28(월) 정보처리기사 정보처리기사 전과목 기출 . 2022. 03. 01(화) 정보처리기사 정보처리기사 전과목 기출 . 2022. 03. 02(수) 정보처리기사 정보처리기사 전과목 기출 . 2022. 03. 03(목) 정보처리기사 정보처리기사 전과목 기출 . 2022. 03. 04(금) 정보처리기사 정보처리기사 전과목 기출 . 2022. 03. 05(토) 정보처리기사 정보처리기사 전과목 기출 시험 당일 두근두근 정보처리기사
유튜브 나도코딩 님의 채널에서 아나콘다, 주피터 사용법 / 데이터 분석 및 시각화 강의를 들었다 너무너무 재밌다 통계공부 해야하는데 잠깐 다른길로 샌거 같은데 6월달 빅데이터분석기사 실기 미리 연습하는셈치고 있다. 휴
저번 한주는 가볍게 모의고사와 기출문제를 훑어봤다. C언어, 자바, Python 모두 다뤄본적이 있어서 프로그래밍 문제는 크게 어렵지 않을것 같고 저번주 SQL강의, 프로그래머스 SQL문제풀이 등을 통해 SQL도 어느정도 감을 잡은 상태이다. 이번주에는 다음과 같이 공부계획을 잡는데, 회사에서는 점심 시간 등을 이용해 정처기 실기 12과목중 기출빈도가 높은 6과목을 추려서 시나공 실기 기본서 문제풀이를 할 예정이다. 퇴근 후, 집에서는 수제비 파이널 모의고사를 풀 예정이다. 다음주에는 모의고사 문제풀이 위주로 공부해야겠다.
백준 1976번: 여행 가자 1976번: 여행 가자 1976번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 검색 여행 가자 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 23111 8946 6630 37.724% 문제 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인지 알아보자. 물론 중간에 다른 도시를 경유해서 여행을 할 수도 있다. 예를 들어 도시가 5개 있고, A-B, B-C, A-D, B-D, E-... www.acmicpc.net 문제 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인지 알아보자. 물론 중간에 다른 도시를 경유해서 여행을 할 수도 있다.
백준 2887번: 행성 터널 4195번: 친구 네트워크 4195번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 검색 친구 네트워크 다국어 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 3 초 256 MB 32476 8509 5176 25.472% 문제 민혁이는 소셜 네트워크 사이트에서 친구를 만드는 것을 좋아하는 친구이다. 우표를 모으는 취미가 있듯이, 민혁이는 소셜 네트워크 사이트에서 친구를 모으는 것이 취미이다. 어떤 사이트의 친구 관계가 생긴 순서대로 주어졌을 때, 두 사람의 친구 네트워크에 몇 명이 있는지 구하는 프로그램을 작성하시오. 친구 네트워크란 친구 관계만... www.acmicpc.net 문제 민혁이는 소셜 네트워크 사이트에서 친구를 만드는 것을 좋아하는 친구이다. 우표를 모으는 취미가 있듯이, 민혁이는 소셜 네트워크 사이트에서 친구를 모으는 것이 취미이다. 어떤 사이트의 친구 관계가 생긴 순서대로 주어졌을 때, 두 사람의 친구 네트워크에 몇 명이 있
백준 17472번: 다리 만들기 2 17472번: 다리 만들기 2 섬으로 이루어진 나라가 있고, 모든 섬을 다리로 연결하려고 한다. 이 나라의 지도는 N×M 크기의 이차원 격자로 나타낼 수 있고, 격자의 각 칸은 땅이거나 바다이다. 섬은 연결된 땅이 상하좌우로 붙어있는 덩어리를 말하고, 아래 그림은 네 개의 섬으로 이루어진 나라이다. 색칠되어있는 칸은 땅이다. 다리는 바다에만 건설할 수 있고, 다리의 길이는 다리가 격자에서 차지하는 칸의 수이다. 다리를 연결해서 모든 섬을 연결하려고 한다. 섬 A에서 다리를 통해 섬 B로 갈 수 있을 때, 섬 A와 B를 연결되었다고 한다. 다리의 양 끝은 섬과 인... www.acmicpc.net 문제 섬으로 이루어진 나라가 있고, 모든 섬을 다리로 연결하려고 한다. 이 나라의 지도는 N×M 크기의 이차원 격자로 나타낼 수 있고, 격자의 각 칸은 땅이거나 바다이다. 섬은 연결된 땅이 상하좌우로 붙어있는 덩어리를 말하고, 아래 그림은 네 개의 섬으로
1. SSAFY 오늘까지 싸피 스타트 캠프임. 2. 백준 플레티넘 찍기 성공! 2022. 07. 13. 에 플레 5를 달성했다. 두근두근. 3. 기타 오늘은 SSAFY조퇴하고, 실업급여 수급자 교육이랑 눈썹정리 하러 가야겠다. 다음주부터는 SSAFY에 집중하면 될듯.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 07. 03(일) 자바 자바 . 2022. 07. 04(월) 자바 자바 . 2022. 07. 05(화) 자바 자바 . 2022. 07. 06(수) 자바 자바 . 2022. 07. 07(목) 자바 자바 . 2022. 07. 08(금) 자바 자바 . 2022. 07. 09(토) 자바 자바 . 자바.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 07. 10(일) 자바 자바 . 2022. 07. 11(월) 자바 자바 . 2022. 07. 12(화) 자바 자바 . 2022. 07. 13(수) 자바 자바 . 2022. 07. 14(목) 자바 자바 . 2022. 07. 15(금) 자바 자바 . 2022. 07. 16(토) 자바 자바 . 자바.
1. SSAFY 이번주 부터 본 수업이 시작되었다. 진도도 빠르고 내용도 재미있다. 2. 하이패스! 삼성 교육 받는 곳까지 출퇴근시간에 운전하기 힘들어서 고속도로를 타기로 했다. 집ㅂ 앞이랑 연수원 근처에 IC가 있어서 훨씬 빠르고 편하다. 자주 탈거 같아서 이번에 하이패스단말기랑 카드를 발급받았다. !! 3. 백준 700+ 이번주에 700문제 찍었다. 올해 안에 900문제를 목표로 하고 있다. 4. 기타 해야할일 : 자동차정비, 헬스장등록, 피부과, 알고리즘 공부 등.
1. SSAFY 자바 문법 하는중. 제네릭? 다형성? 람다? 스트림? ㅁㄴㅇㄹ 2. 알고리즘 요즘 세그먼트트리, 투포인터, MST정도 하고 있다. 3. 백준 20문제 정도 풀었다. 냠냠. 4. 기타 충치 생겼대서 치료받으러 가야함. 자동차 정비하러 가야함. 이상.
공부기록 요약 날짜 과목 세부 내용 기타 2022. 07. 17(일) 자바 자바 . 2022. 07. 18(월) 자바 자바 . 2022. 07. 19(화) 자바 자바 . 2022. 07. 20(수) 자바 자바 . 2022. 07. 21(목) 자바 자바 . 2022. 07. 22(금) 자바 자바 . 2022. 07. 23(토) 자바 자바 . 자바 + 알고리즘
공부기록 요약 날짜 과목 세부 내용 기타 2022. 07. 24(일) 자바 자바 . 2022. 07. 25(월) 자바 자바 . 2022. 07. 26(화) 자바 자바 . 2022. 07. 27(수) 자바 자바 . 2022. 07. 28(목) 자바 자바 . 2022. 07. 29(금) 자바 자바 . 2022. 07. 30(토) 자바 자바 . 문법이랑 알고리즘 하는중..
1. SSAFY 알고리즘 공부하는 중. 문제 많이 풀고 있다. 2. 알고리즘 예전엔 빡구현이 재미있었는데, 요즘엔 머리 많이 써야하는 dp 같은게 재밌더라. 3. 학점은행제 다음주 월요일(8/8)에 심의 결과가 나온다고 한다. 두근두근.. 4. 기타 - 충치가 생겨서 금?인가 뭐로 떼워야 한단다. - 요즘 체력의 한계를 절감하는 중이다. 운동을 해야겠다. - 수업이랑 스터디랑 따로 공부하는 일들로 바빠서 시간이 매우 빠르게 지나가는 중이다.
새로운 일들이 많이 생겨서 블로그 운영에 소홀히 했다. 반성한다. 하여, 근황과 함께 오랜만에 제대로 된 일기를 올린다. 1. 회사 퇴사 후 6월 30일부로 계약만료로 회사를 그만두었다. 이때 다녔던 회사는 8월부터 다녀서 실업급여 수급이 가능했다. 그래서 그 다음날 바로 실업급여를 신청하러 갔다. 신청 후에 1차 실업인정 교육?도 들으러 가고, 급여 신청 방법과 조건 등을 배워왔다. 아 그리고 고용보험 가입일수가 1년이 넘어서 실업급여 수급이 5개월간 가능하다고 했다. 그 전에 일하던 곳에서 일했던 내역도 반영이 된것 같다. 기분이 좋았다. 2. SSAFY 삼성 SW 아카데미에 8기로 합격해서 다니고 있다. 지금은 알고리즘을 공부하는 단계인데, 정말 재미있다. 매주 시험을 보는데 열심히 공부하게 되는 것 같다. 곧 있을 역량테스트를 위해서 기출문제도 조금씩 풀고 있다. 3. 백준 / 알고리즘 지금까지는 어려운 dp문제, 세그먼트트리, MST 등 골드 1~플레 문제를 풀었다. 사실