jyk2367의 등록된 링크

 jyk2367로 등록된 네이버 블로그 포스트 수는 80건입니다.

[프로그래머스][2018 KAKAO BLIND RECRUITMENT][1차] 캐시 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17680#qna pop_front가 나와서 deque로 풀었는데, 하...

[프로그래머스][Summer/Winter Coding(~2018)] 스킬트리 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/49993?language=cpp# 1. 각 글자를 검색해 위치를 찾는다 2. 각 글자 위치를 저장한다 3. 각 글자 위치의 순서가 바뀌면 state를 false로 지정 3-1.각 글자 위치의 순서가 바뀌지 않는다면 가능한 스킬트리이므로 answer++ 내 제출

[프로그래머스][Summer/Winter Coding(~2018)] 방문 길이 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/49994?language=cpp 각 단어마다 대응되는 방식으로 코드를 짜면 되는데 특징으로는 이전위치에서 다음위치로 "가는 정보"가 필요하다. (이전위치,다음위치) pair를 set에 저장하는 방식을 택하든 그냥 이전위치+다음위치+20에 방문여부를 저장하는 방식을 택하든 그건 자유. 내 제출

[프로그래머스][2018 KAKAO BLIND RECRUITMENT][3차] 방금그곡 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17683?language=cpp 생각보다 까다로운 문제이다. 나는 기존 데이터를 전혀 건드리지 않고 푼다고 생각했고, "C#"의 문자열은 2이지만 결국 시간기준으로 따지면 1이라는 점이 오래 걸리게 한 원인이였다. 알고보니 그냥 #이 붙은것들은 소문자로 바꾸거나 #을 빼버리거나 C#을 통째로 치환하는 방법도 가능했던 문제였다..... 내 제출

[프로그래머스][연습문제]가장 큰 정사각형 찾기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12905?language=cpp DP문제인줄은 꿈에도 모르고 있다가 효율성 테스트에서 통과하지 못한 문제. 00 -> 01 10 11 -> 02 12 22 21 20 -> ... n이 1씩 증가하면 x,y 둘중 하나는 반드시 n과 같은 수이다. DP로 푼 다른 블로그들의 글을 보면 처음 answer를 board[0][0]으로 시작해 DP로 푸는데, [[0,0],[1,0]]을 확인해보면 틀린 걸 알수있다. 이것에 대한 처리를 더 해줘야 한다. 내 제출 - 규칙(효율성 테스트 x) 내 제출 - DP

[프로그래머스][2018 KAKAO BLIND RECRUITMENT][3차] 압축 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17684?language=cpp 문제 해석을 해보자면 1. 사전에서 현재 입력과 가장 일치하는 가장 긴 문자열 w를 찾는다 2. w를 출력하고, w+c(다음글자)는 사전에 없으니까 사전에 추가한다 3. index는 c의 index를 받아 올 수 있도록 하면 된다 내 제출

[프로그래머스][2018 KAKAO BLIND RECRUITMENT][3차] 파일명 정렬 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17686?language=cpp# stable_sort : 원래 입력에 주어진 순서 유지, stl 기준 병합 정렬 transform(범위 시작점, 범위 끝점, 결과를 저장할곳, 변환할 함수) 내 제출

Image Enhancement - Image Sharpening,Image Smoothing [내부링크]

선명한 정보는 높은 주파수의 구성요소를 포함하므로 대부분의 기술은 고주파 필터를 가진다. Edge와 같은 이미지의 중요한 특징은 좁은 공간에 들어있다. 이미지 샤프닝 알고리즘은 일반적으로 3가지 단계를 거친다. 1. 고주파 성분 추출(highpass filtering) 2. 추출한 고주파성분을 원본 이미지에 추가해서 강조 3. 히스토그램 조작을 통해 이미지 대조 극대화 Highpass Filtering 자체로는 이미지로 사용하지 않는다. 이미지 샤프닝은 추가적으로 보장단계를 거치므로 이것이 Highpass Filtering과의 차이이다. High Frequency Emphasis - High boost Spatial Filtering ㅁ x를 얼만큼 키우냐에 따라 original의 저주파를 얼마나 남길지 결정.......

Image Compression - 개요 [내부링크]

이미지 압축에는 크게 두가지가 존재. 무손실 압축과 손실 압축. 필요 정보를 유지하면서 압축하는 것이 필수적이다 ㅁ손실 압축 : 압축률은 높지만 필요한 정보가 사라질 수 있다 ㅁ무손실 압축 : 압축률은 낮지만 필요한 정보를 남길 수 있다 - 상호보완적 관계 압축률 = 원본사이즈/압축된 사이즈(>1) BPP = 비트 수/픽셀 수 이미지 압축은 이미지에 내재한 불필요한 중복을 제거하는 방향으로 발전해 왔다. 4가지 주요 불필요한 중복 타입이 존재한다. Coding redundancy : 코딩의 중복성 Interpixel redundancy(inter-frame redundancy for video) : 이웃 프레임 간 중복(잔상효과, 이웃 픽셀간의 중복) Interband redundancy .......

Image Compression - System Model [내부링크]

Measuring Information ㅁ정보 측정 ㅁSelf-information(정보 내용 E) : 이벤트가 가지는 정보의 영향력, 파급력, 효과 - 어느 사상의 발생을 인지했을 대 얻는 정보의 크기를 나타내는 값 - 어떤 이벤트에서 나오는 지식이 다른 사람의 지식에 영향을 얼만큼 주는가라는 척도로써의 정보의 양 ㅁevent가 항상 일어나면 영향력 파급력 없음 ㅁevent가 절대 일어나지 않으면 영향력 파급력 매우 큼 엔트로피 = ∑(gray level i번째 확률*self information) ㅁ이미지의 평균 영향력 측정 - self information의 가중치 평균= self information의 기대값 ㅁ엔트로피는 이론적인 BPP 평균의 최소를 나타낸다 - 퀄리티의 저하를 눈치채지 않.......

Image Compression - Lossless Compression Methods, Lossy Compression Methods [내부링크]

압축 정도를 나타내는 척도 1. 압축률 = 압축전크기/압축후크기 2. 픽셀당비트수 = 비트수/픽셀, bpp를 사용했을 때 압축의 정도를 알기위해 사용하는 지표 : 엔트로피 Huffman Coding ㅁ최소, 가변길이 코드 ㅁ이미지로부터 얻은 Gray level의 Histogram을 기반으로 가능하면 엔트로피에 근접하도록 코드를 압축하는 것 ㅁ10~50% 수준의 낮은 압축률 - 불필요한 정보를 삭제하면 2:1~3:1까진 가능 - 애초에 무손실 압축이라 압축수준 낮음 1. gray level에 따라 나오는 pixel 수의 확률 계산 2. 정렬 3. 가장 낮은 단부터 차례대로 덧셈 ㅁ크면 0 작으면 1 부여 ㅁ각 bit의 gray level에 따라 할당하는 bit수가 달라진다 ㅁ각 gray le.......

[프로그래머스][위클리 챌린지] 모음사전 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/84512?language=cpp AAAAA와 AAAAE의 차이 : 1 AAAA와 AAAE의 차이 : 6=1*5+1 AAA와 AAE의 차이 : 31=6*5+1 AA와 AE의 차이 : 156=31*5+1 A와 E의 차이 : 781=156*5+1 이 규칙을 알았다면 다음은 쉽다. 단어 각각의 알파벳들이 'A'에서 얼마나 떨어진지를 계산하고, 그 값과 위에서 구한 offset들을 곱한 값이 answer의 전신이다. 전부 A,AA,AAA,AAAA,AAAAA에서 시작하는 index이므로 word의 길이에 맞게 answer에 더해준다. 내 제출

SQL 문법 [내부링크]

'll'는 strcat과 동일 'f' 안된다 : 데이터는 대소문자 구분하기 때문 Like : 속성값이 문자열이거나 날짜일 때 사용, 성능은 안좋아서 다른 방법을 찾아야 한다 () : 우선순위 함수 부분은 DBMS마다 편차가 많다. Group 함수는 대부분의 DBMS가 지원한다 WHERE절엔 조건으로 그룹함수 적용 안됨->HAVING사용 HAVING은 GROUP BY 뒤에 쓰는게 일반적임 any : 여기 있는 아무 값이나~ all : 여기 있는 모든 값보다~ 오류 : 만약 다른 학과에서 3.04가 존재하면 max가 아닌 값이 출력되게 된다 left outer join은 왼쪽을 다 출력, 오른쪽은 null 가능 inner join시 null이 있으면 안됨 데이터 반드시 필요함 subquery : sele.......

SQL [내부링크]

SQL의 개념 관계형 데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어이다. 관계형 DBMS의 국제 산업 표준이며, 비절차적 언어이다. ㅁ비절차적 언어 : 방법과 절차 언급없이 원하는 데이터만 명시한다,1개의 단일 SQL문만 수행 ㅁ아래 사항 지원 안함 - go to - perform - do loop - open file, close file, end of file SQL 함수들 ㅁData Definition Language(DDL) : 데이터베이스 스키마 조작담당, DDL을 통해 정의된 스키마는 데이터 사전(Data Dictionary)에 의해 저장 관리된다 - CREATE : 새 테이블, 인덱스, 뷰 생성 - DROP : 테이블, 인덱스, 뷰 선언 제거 - ALTER : 테이블 스키마 변경 ㅁData Manip.......

[프로그래머스][월간 코드 챌린지 시즌1] 이진 변환 반복하기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/70129?language=cpp 내 제출

[프로그래머스][Summer/Winter Coding(~2018)] 점프와 순간이동 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12980?language=cpp 내 제출

[프로그래머스][월간 코드 챌린지 시즌3] n^2 배열 자르기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/87390?language=cpp 00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33 1 2 3 4 2 2 3 4 3 3 3 4 4 4 4 4 같은값만 가지는 곳의 index를 정리해보니 00 : 1 01 10 11 : 2 02 12 22 20 21 : 3 03 13 23 33 30 31 32 : 4 (row,col중 큰값+1)이 결국 1차원 배열화 했을 때의 값이였다. 내 제출

[넷마블][제7회 게임콘서트 3부] 게임콘텐츠&IP사업: 과거, 현재 그리고 미래 - 리뷰 [내부링크]

https://www.youtube.com/watch?v=iuogKFqBqzg 한국의 IP가 전세계에게 먹히는 시대가 왔다(BTS, 봉준호, 아기상어, 복면가왕) 한류 콘텐츠 사업중 가장 비율높은게 게임이다. 넷마블은 해외매출 비중을 늘리기 위해 많은 노력을 했고 좋은 성적을 냈다. 후발주자임에도 불구하고 좋은 성적을 낸 이유는 콘텐츠 IP에 큰 가치를 두고 뛰어들었던 도전에 있었다. 예전게임들을 보면 해외 IP 위주의 게임이 많았다. 카운터스트라이크, 디아블로2, 스타크래프트 등 해외 IP이다. 국내게임사들은 자체 IP를 만들기 시작해서 리니지,뮤,던파, 크로스파이어 등이 히트를 쳤다. 넷마블은 후발주자여서 자체IP개발이 쉽지않았고 수입도 쉽지않아 새로.......

버그와 글리치의 차이 [내부링크]

Bug: 대개 비디오 게임에서 예기치 않은 문제로 인해 의도한 게임 상태를 달성할 수 없는 경우에 쓰이는 단어입니다. 즉, 오류로 인해 레벨을 완료할 수 없거나 보스가 스폰되지 않는 등의 경우로 게임을 더 이상 진행할 수 없게 되었을 때 "버그"라고 칭합니다. Glitch: 대개 비디오 게임에서 예기치 않은 문제로 인해 의도하지 않은 상태를 달성할 수 있을 때 쓰이는 단어입니다. 즉, 오류로 인해 지상을 통과하거나 벽을 뚫거나 원래는 더 많은 목표를 달성해야 하는 퀘스트의 일부를 건너뛰고 게임을 진행할 수 있을 때 "글리치"라고 칭합니다. 이득을 보면 글리치, 이득이 없다면 버그 오류 자체는 버그, 이걸 활용하면.......

NFT [내부링크]

NFT : 대체불가능토큰 ㅁ저작권/소유권 중 소유권을 사고팔수 있게 되는데 원작자에게 수익 10~15프로를 거래마다 지급 ㅁ소유자는 원본에 대한 복제 제한 권한이 없음(사실상 "종이" 서류만 가지고 "원본에 대한 권한"은 없음, 심지어 종이 서류도 디지털임) - 내가 복제해도 소유자는 나한테 뭐라고 할 수 없음 ㅁ현실의 원본은 복제해도 완벽히 복제불가능해 희소가치를 가지는데 디지털은 그냥 복제하면 사실상 똑같음 ㅁ누가사냐? - 돈많은 사람들, 관심있는 사람들(솔직히 이름도 안나와있고 낙찰만 되었다고 하는데 스캠일지는 아무도모름) - 탈세 가능(경매로 이뤄지므로) ㅁ도용방지는 가능한가? - 아직 미흡함, 특.......

Discrete Transforms - Fourier Transform [내부링크]

영상은 시간축에 2차평면의 이미지를 나열해놓은 것으로, 이들은 모드 2차원 평면이므로, 이를 신호의 세기의 2차원 표현 방식으로 변환을 하는게 Discrete Tranform이다. 시간의 축이 아닌 주파수 축에서의 재해석이 필요하다는게 푸리에의 이론이다. 푸리에의 변환은 주파수 신호는 정현파(Sine Wave)들의 합으로 표현이 가능하다는 푸리에 급수에 기인하며, 모든 함수를 기저 함수의 조합으로 나타낼 수 있다. 하지만 컴퓨터는 디지털이므로 이산 푸리에 변환이 나오게 되었다. 따라서 이를 이산적인 신호에 적용하려면 연속된 신호를 시간축에 대해 샘플링하고 각 시간상에서의 신호 크기도 컴퓨터에서 사용할 수 있도록 Quantization되어야.......

Discrete Transform - Filtering in Frequency Domain [내부링크]

푸리에 변환으로 얻은 주파수 도메인의 필터링 종류에 대해 알아본다. ㅁ푸리에 변환/역변환을 굳이 하는 이유 : 주파수 도메인에서 처리하는 게 더 효율적이므로 - 시간 영역, 공간영역에서 파악하기 힘든 특성을 쉽게 볼수 있는 장점 - 신호와 시스템 분석 및 취급이 용이해짐 Lowpass Filtering ㅁ저주파 통과/고주파 차단 ㅁ결과 이미지는 부드럽게 ㅁ노이즈 제거 ㅁ(b) - 이상적이지 않은(Non-ideal) lowpass Filter 사용 ㅁ(c) - 이상적인(Ideal) lowpass Filter 사용 : 물결 무늬 생김 Ideal Lowpass Filters ㅁ저주파는 gain 1로 통과, 고주파는 gain 0으로 차단 ㅁf0는 cutoff로, 저주파와 고주파를 구분하는 차단 주파수 ㅁcutoff를 넘.......

Image Restoration - System Model, Noise Model [내부링크]

System Model 이미지 복원 방법은 이미지 열화(손상)에 대해 수학적 모델을 사용해 손상을 복원하기 위한 방법이다. 이미지 개선과 이미지 복원은 다르며, 이미지 개선은 이미지가 손상된 걸 복구하는 게 아니다. 이미지 손상을 복원시키는 방법은 이미지 손상 종류에 따라 다르다. 1.blurring - 움직임이나 대기간섭으로 인한 블러 2.geometric distoration - 기하학적 왜곡 3.superimposed interference pattern - 기계적인 시스템에 의한 중첩 간섭 현상 4.noise - 전자장비에 의한 잡음 열화의 원인은 따로 잘 알려지지 않으므로 추정이 필요할 때도 있다. d(r,c) : 열화(손상)된 이미지 h(r,c) : 열화(손상)함수 I(r,c) : 원본 이미지 n(r,c.......

Image Restoration - Noise Removal Using Spacial Filters [내부링크]

공간 필터를 활용한 잡음에 의한 이미지 손상만 복구하는 방법 d(r,c) : 손상된 이미지 I(r,c) : 원본 이미지 *위 공식에서 열화공식은 생략됨 n(r,c) : 잡음 I'(r,c) : 손상된 이미지를 복구한 이미지 ㅁ잡음 제거를 위한 공간필터로는 2가지 카테고리가 존재한다 - Order Filters : 비선형 필터 - Salt and Pepper Noise, Negative Exponential Noise, Rayleigh Noise - Mean Filters : 선형 필터 - Gaussian Noise, Uniform Filters ㅁNoise는 이미지에서 고주파 성분이라 이미지 디테일(edge)의 보존과 noise제거와 trade-off 관계이다 Order Filters - Median filter ㅁ대표적인 비선형필터로, Edge는 보존하면서 Noise를 효과적으로 제.......

Image Restoration - The Degradation Function [내부링크]

열화함수는 이미지를 손상시킨 원인을 함수화 한 것이다. The Impulse Response of Linear System Impulse : 자극(특정 시점에 톡 튀는 신호) Linear System(선형 시스템) : 입력을 받고 출력이 나오는데, 출력이 입력의 합으로 나오는 것 ex)3개가 들어갔는데 3개의 합으로 결과가 나오는 경우 Impulse Response(임펄스 응답) : Impulse를 넣을 때 반응한 결과 h(n) : 선형시스템의 고유 특성 ㅁ임펄스 응답은 어떤 선형 시스템의 특징을 알려준다 Point Spread Function h(r,c) : 열화함수(점 확산 함수) ㅁ점 확산 함수 : 점이 어떻게 퍼지는지를 나타낸 함수 ㅁ초점이 흐려진 열화이미지를 복구할 때 사용 (a)원본 (b)열화된 이미지 (d)Gauss.......

Image Enhancement - Gray Scale Modification [내부링크]

이미지 강화(개선) : 원본 이미지의 화질 개선 이미지 강화 프로세스 Gray Scale Modification ㅁ점연산, Mapping 방정식으로 처리하여 대조 강화/특징 강화 ㅁGray level Stretching : Gray level 확장을 통해 더 많은 정보를 가지도록 한다 - 빛의 조도를 키우는 것(짙은 회색을 밝은 회색으로) (b)원본 - 검은 부분 28~75 (c)Gray level Modification(수정) 후 이미지 - 검은 28~75 부분을 28~255로 늘림 ㅁ역으로 Gray level Compression(압축)도 존재 ㅁIntensity level Slicing : 관심부분을 강조해서 보거나, 특정 부분만 볼수 있도록 하는 방법 Piece-wise Linear Modification ㅁ전체적으로 보면 비선형 - 0~80은 Stretch : 코트, 뒤쪽.......

[프로그래머스][2019 KAKAO BLIND RECRUITMENT] 후보키 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/42890?language=cpp# 우선 조합으로 0~5, 01~45, 012~345 이런식으로 후보키가 될수 있는지 검사해야 한다. 0,01은 될수 없지만 0,23,134는 된다는 점을 봤을 때 이전 후보키들을 모두 포함하면 continue하도록 만들어야 한다. 내 제출

[프로그래머스][Summer/Winter Coding(~2018)] 배달 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12978?language=cpp 1. 다익스트라 문제 2. 연결도로 여러개일 수 있어서 받는대로 최소값인지 확인해줘야 한다 내 제출

[프로그래머스][위클리 챌린지] 피로도 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/87946?language=cpp 완전탐색문제. 피로도가 다 떨어지는 순간 바로 return해주는 것도 필요함 내 제출

[프로그래머스][2018 KAKAO BLIND RECRUITMENT][1차]프렌즈4블록 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17679?language=cpp# 아래로 이동시키는 부분을 잘못짜서 막혔던 문제. 아래로 이동시킬 때 1개씩 움직이는게 아니라 아예 새로 짠다는 생각을 하자. 내 제출

[프로그래머스][월간 코드 챌린지 시즌2] 2개 이하로 다른 비트 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/77885?language=cpp 짝수는 마지막 비트가 항상 0이므로 비트가 다른지점이 1개에 가장적은수는 +1한 수가 된다 홀수는 마지막 비트가 항상 1임 1인 비트를 0으로 바꾸게 되면 주어진 수보다 더 작은 수가 나온다 따라서 0인 비트를 1인 비트로 바꿔야 더 큰 수가 나온다 0인 비트 중에서도 가장 낮은 쪽의 0 비트를 바꿔야 비트 1~2개 다른 제일 작은 수가 될 것이다. 내 제출

[프로그래머스][월간 코드 챌린지 시즌1] 삼각달팽이 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/68645?language=cpp# left,bottom,right에 따라 값을 증가시키고, 다음 index가 될 값들에 대한 정보를 초기화했다. 다른분들은 2차원배열로 풀었던데 그게 속도면에서 훨 나은듯하다. 내 제출

[프로그래머스][Summer/Winter Coding(~2018)] 영어끝말잇기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12981?language=cpp 1. hm으로 word 1개씩 확인하기 2. 기존에 값이 있었다면 사람번호,차례 return 2-1. 사람번호는 index%n+1, 차례는 index/n+1 3.없었다면 hm[str]=true 내 제출

[프로그래머스][위클리 챌린지] 교점에 별 만들기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/87377?language=cpp# 좌표평면을 배열로 mapping하는데서 시간이 걸렸던 문제. 좌표평면을 2차원배열로 표현하는 방법 : 시계방향 90도 회전 내 제출

좌표평면을 2차원배열로 표현 [내부링크]

좌표평면의 특징은 x값이 증가할수록 오른쪽으로 이동, y값이 증가할수록 위쪽으로 이동하는데 일반적으로 2차원 배열을 형성하는 경우 인덱스 별 값이 생기는 위치는 논리적으로 좌표평면 1사분면의 구조처럼 평면이 만들어지지 않는다. 2차원 배열은 아래쪽으로 이동할 수록 y값이 증가하고, 오른쪽으로 이동하면 x값이 증가하는 방식이다 따라서 좌표평면의 x값은 2차원배열에서의 y값이 될 것이고, 좌표평면의 y값은 2차원배열의 x가 될 것이다. 2차원배열(x,y) 좌표평면(y,x) ex) x값 범위 -4~4 y값 범위 -4~4 (0,4), (-4,1), (4,1),(-4,-4), (4,-4)의 좌표평면의 값을 2차원 배열로 읽으려면 1. 왼쪽 맨 아래값인 (-4,-4)를 0,0으로 끌어오.......

[리뷰][NDC] 즐거움을 향한 항해 - 넥슨이 바라보는 데이터와 AI [내부링크]

https://www.youtube.com/watch?v=LIbjiecJK0o 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다. 1. 게임의 진짜 즐거움은 어디서 나오는가? 한 유저의 일일 만족도 변화를 살펴보았더니 상위게임과 하위게임의 차이보단 한 유저의 접속 경험에 따른 만족도 차이가 더 컸었다. 한 게임에 동일인물이 듣더라도 상황에 따라 만족도가 크게 변동해서.......

[프로그래머스][위클리 챌린지] 전력망을 둘로 나누기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/86971?language=cpp 내 제출

Digital Image Analysis [내부링크]

System Model ㅁ이미지 분석은 컴퓨터 이미징 문제를 풀기 위해 필요한 정보를 정확히 결정하기 위한 이미지데이터 조작과 연관이 있다 - 이미지 분석은 데이터 축소 프로세스다 ㅁ공간 도메인 방식으로 데이터 축소를 하게되면 기본 Input 이미지가 공간데이터이므로 분할(Segmentation)만 해서 공개정보를 추출해서 처리한다 ㅁ주파수 도메인 방식으로 데이터 축소를 한다면 transform 단계를 거쳐 주파수 정보를 추출해서 처리한다 ㅁ전처리 알고리즘은 데이터 축소라던가 작업분석을 쉽게 하기 위해 초기 처리로서 많이 적용된다 - 관심영역 추출, 특정 특징들 강화, 이미지 기본 대수연산 수행, 해상도와 밝기를 줄이기 위한 처리를 포함한.......

Region of Interest(ROI) Image Geometry(관심영역 이미지 형상) [내부링크]

ㅁ관심영역 이미지 형상의 연산 - Crop(잘라내기) - Zoom(당기기) - Translate(이동) - Rotate(회전) Crop ㅁ관심영역 이미지 잘라내기 Zoom-Enlarging ㅁ관심영역 이미지 당기기 - 선형보간(평균) - Convolution Mask를 활용한 보간 : 0차다항식, 1차다항식 ㅁ픽셀을 확대하면서 추가적으로 채워 넣는 픽셀의 값을 결정하기 위한 식이 0차 다항식인지, 1차 다항식인지에 따라 달라진다 - B) 0차다항식을 사용한 확대이미지(모자이크 현상있음) - C) 1차다항식을 사용한 확대이미지(초점없이 흐림) 0차 다항식(보간식) 사용한 확대방법 ㅁ확대비율이 크면 클수록 0차보간식은 모자이크 현상이 심화된다 ㅁmask의 중심위치가 짝수면 결정되지 않으.......

Image Algebra [내부링크]

Image Algebra ㅁ이미지 산술연산 - addition,subtraction, multiplication, division ㅁ이미지 논리연산 - masking Image Addition ㅁ이미지 더하기연산 - 자연스러운 변환을 할 때 사용 - 중첩, 겹치기 ㅁ동영상의 경우, 어느 한모습에서 다른모습으로 변해갈 때 사용한다 ㅁ잡음이 없는 이미지에 가법적 잡음(잡음의 gray값이 정규분포형태)을 일부러 넣는다 - 잡음에 오염된 이미지의 복원을 위한 모델을 만들기 위해 일부러 넣는다 - 어떤 종류의 오염인지 알기위해 일부러 중첩하는 것이다 cf) 보통 이미지 잡음은 생성때 대부분 정해진다, 팩스, 전송, 처리 등등 생성 단계에서 이미지 잡음의 코드가 정해진다 Image Subtraction ㅁ움직이.......

Spatial Filter [내부링크]

ㅁ사진은 pixel로 가로세로가 정해져 있다 - 밝기, gray, 색상 등의 값들로 이미지를 표현한다 - 이 중 원하는 정보를 뽑아내는 것이다 ㅁ공간필터에서는 Convolution 방식으로 이미지를 추출한다 Mean Filter - Linear Filters ㅁ평균값 필터-선형필터 ㅁ이미지를 부드럽게 만들어 준다(윤곽선의 edge가 뚜렷하지 않다) - 이미지가 선명하다는 것은 윤곽선, edge가 뚜렷하다는 것이고, 윤곽선이 뚜렷한 이유는 이웃하는 픽셀의 gray값 차이가 크기 때문이다 - 따라서 mean filter로 평균을 내어 값의 차이를 줄여주는 것이다 - 평균값의 차이가 줄었다면 그만큼 윤곽선이 흐릿해진다는 뜻이다 cf) 너무 선명(윤곽선의 edge가 뚜렷하다)하면 눈에.......

Edge Detection [내부링크]

Edge Detection에는 크게 두가지가 존재한다 ㅁLaplacian Gaussian Operator ㅁHough Transform Issue in Edge Detection ㅁedge는 공간주파수의 특성으로 고주파에 속하는데 동시에 노이즈도 같은 고주파에 속해서 나오게 된다 Definition of Edge ㅁedge : 불연속적인 gray-level 값으로 정의 - 짧은 공간적 거리에서 이미지 밝기차이가 매우 크게 바뀌는 지점이다 Edge Detection Operator : Roberts Operator ㅁedge감지 연산자중 가장 단순한 방법 - 필터 사이즈도 작고, 계산도 적어서 binary image에 좋다 - 기울기로 감지하며, 대각선 인접한 화소끼리 차를 구해 값을 구하는 방식이다 - 방향성이 있는 필터이다 ㅁRobert operator는 잡.......

Edge Detection : Laplacian Gaussian Operator [내부링크]

2차원 미분 연산자 방향성 없이 edge를 추출하는 연산자이다 ㅁ동심 원형 필터이다 ㅁ2은 2차미분, G는 가우스함수를 뜻하며, 이는 가우스함수를 두번 미분했다는 뜻이다 ㅁ+, - 값이 섞여있고, 전체 총합 ∑은 반드시 0이다 ㅁ만약 Gaussian width(표준편차, σ)가 증가하면 어떤 현상이 나타나는가? - blur 처리가 많이 된다(세세하고 자잘한 edge는 표현되지 않는다)=가는 edge는 날려버린다 ㅁ이미지에 서로 다른 Gaussian Filter를 사용하면 각각 다른 크기의 이미지를 얻을 수 있다 - 인간의 눈과 비슷하다 Difference of two Gaussian : DOG Filter ㅁ두 가우스 함수의 차이로 구한 Filter ㅁ똑같은 역할을 한다 ㅁ거의 차이가 없.......

Edge Detection : Hough Transform [내부링크]

edge는 불환전한 알고리즘과 noise로 인해 불완전한 정보가 추출될 가능성이 존재한다 ex) 사진 - 3D에서 2D로 mapping, 차폐, 불완전한 알고리즘 때문에 input 정보가 불충분하다 - 이러한 문제를 동시에 해결하는 방법이 Hough Transform이다 ㅁ원래는 선분을 찾기위해 고안되었는데 - line은 edge point의 모임으로 구성되어있으므로 edge point를 구할 수 있다 ㅁ장점 : line이나 일치하는 점들의 집합을 찾는 속도를 줄일 수 있다 Hough Transform - Basic Idea ㅁ선분을 점으로 만드는게 기본 idea ㅁx, y 축 공간에서 a,b축 공간으로 나눔 ㅁx, y 축의 1개의 직선은 a, b축 공간에서 한 점으로 표현된다 ㅁHough 공간 : 양자화 block으로.......

Segmentation [내부링크]

객체들을 대상과 분할, 영역을 분할 ㅁ이미지 분할의 목표 : 이미지에서 객체를 나타내는 영역을 찾거나 객체에서 의미있는 부분을 찾는 것 ㅁ이미지 분할의 방법 : 동질성과 대비를 통한 측정 - 동질성 : 영역의 여러 속성들의 관점에서 얼마나 유사한가 - 대비 : 주변과 얼마나 다른가 ㅁ예비 분할(Low level의 영역 분할을 위한 기준) : gray level, color, texture ㅁHigh-level 분할 : 객체 속성(모양, 경계선) Image Segmentation Techniques 1. Region Growing and Shrinking : 영역 확장&축소 - row,col 기반 이미지 공간 사용 2. Clustering Method : 클러스터링(군집화) 방법 - 특징 공간 영역, 색상공간영역, 공간영역 등 어떠한.......

Morphological Filtering [내부링크]

ㅁ형태학적 필터링 : 전처리, 후처리, main processing에서 잘 쓰인다 ㅁ형태학은 이미지 객체의 구조와 형태와 관련된 기법이다 ㅁ형태학적 필터링은 분할된 이미지를 보다 단순화시켜 관심있는 객체를 찾기 수월하게 해주는 기법이다 ㅁ4가지 기본 연산으로 이루어져 있다 : dilation, erosion, opening, closing Morphological Filtering - dilation ㅁ팽창(불림) 연산은 객체를 확장시킨다 - 작은 구멍들을 채운다 - 떨어진 객체들을 연결한다 ㅁStructuring element와 original image와 논리연산 OR을 통해 구한다 ㅁ객체들간 연결되고 두꺼워진다 - 틈은 채워지고 굵어진다 ㅁStructuring element의 크기, 가중치에 따라 효과는 달라진다 M.......

[프로그래머스][월간 코드 챌린지 시즌2] 괄호 회전하기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/76502?language=cpp 스택에 넣고 하나씩 빼면서 확인한다. 올바르지 않으면 바로 break를 해서 시간을 최소화한다. 내 제출

[프로그래머스][2017 팁스타운] 예상 대진표 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12985?language=cpp# a와 b는 1~N까지인걸 모르고 0~N-1까지로 생각하고 계산해서 시간이 좀 걸렸다 문제를 잘 파악하고 예시를 들면서 차근차근 해보는 습관을 들이자. 내 제출

[프로그래머스][2021 KAKAO BLIND RECRUITMENT] 순위 검색 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/72412?language=cpp 각 string을 index로 활용해서 O(1)의 시간으로 접근해야 시간제한에 걸리지 않는다. 0000 1111 0001~ 0011~ 0111~ "-"가 나오는 경우, 그 속성의 모든 값을 상대로 더해주는 것이므로 위의 방식으로 next_permutation을 사용해서 추가해 주었다. 이후 각 정보에 대해 sort를 하고 end에서 lower_bound값을 빼서 특정 score이상인 사람들의 count를 저장해 출력하였다. 내 제출 - 효율성 통과X 내 제출 - 효율성 통과 O 내 제출 - 다른분들 방식 참조

Computer Vision의 전체적인 흐름&인간의 Vision System [내부링크]

Topics 컴퓨터과학의 분야와 전기공학 분야의 합집합 1. Digital Image Analysis 2. Edge detection & Segmentation(윤곽선 감지&분할) 3. Discrete Transform(이산변환) 4. Image Restoration(이미지 복윈) 5. Image Enhancement(이미지 강화) 6. Image Compression(이미지 압축) 인간의 Vision System ㅁ빛에너지 -> 시각세포 -> 전기에너지 ㅁ시각세포의 종류 - 간상세포(원기둥) : 어두운 상태에서 빛을 감지 - 추상세포(원뿔) : 물체의 형태, 모양 , 구조, 색상 감지 1. 눈은 망막으로 둘러쌓여 있는 형태인데, 그중 망막중심 부분은 추상세포가 집중적으로 존재하는 구간이며, 망막이 없는 구간을 blind spot이라고 한다 2. .......

[프로그래머스][2021 카카오 블라인드 Recruitment] - 신규 아이디 추천 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/72410 내 제출

[프로그래머스][2021 Dev-Matching:웹 백엔드 개발자(상반기)] - 다단계 칫솔 판매 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/77486 이 문제는 대놓고 트리문제였는데, 트리의 노...

[프로그래머스][2021 Dev-Matching:웹 백엔드 개발자(상반기)] - 로또의 최고 순위와 최저 순위 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/77484# 당첨번호와 로또번호를 비교해서 최저값은 0...

[프로그래머스][2021 Dev-Matching:웹 백엔드 개발자(상반기)] - 행렬 테두리 회전하기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/77485 시계방향으로 움직이는 것들을 하나씩 다 구현...

[프로그래머스][스킬 체크 테스트 Level.2] - JadenCase 문자열 만들기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12951 원래 효율적인 코드처럼 생각해보긴 했지만, ...

[프로그래머스][월간 코드 챌린지 시즌1] - 쿼드압축 후 개수 세기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/68936 현재 입력받은 구간에서 모든 수가 같으면 tru...

[프로그래머스] [2020 KAKAO BLIND RECRUITMENT] 괄호 변환 [내부링크]

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 비상업적, 비영리적 ...

[프로그래머스] [2021 카카오 채용연계형 인턴십] 표 편집 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/81303?language=cpp vector로 풀었을 때 통과는 쉽게 되지만, 효율성 테스트를 통과하지 못한다(erase와 insert로 인해 시간 잡아먹음 : 하나만 빼고 끝이 아니라 뒤에 있는 값들을 뒤로 1칸씩 밀어야 함) 다른 분들의 풀이를 봤을 때, set으로 푸는 방법이 있고, 연결리스트를 응용해서 푸는 방법이 있었다. 연결리스트에서 next와 prev를 바꾸기만 하면 되므로 삽입삭제가 많은 이 문제에서 효율이 좋다. 그리고 삭제한 노드들을 스택으로 따로 관리하다가 필요할 때 꺼내서 prev와 next를 연결하여 연결해주기만 하면 되니까 시간을 굉장히 줄일 수 있다. 다음 풀이는 set으로, set은.......

[프로그래머스] [Summer/Winter Coding(2019)] 멀쩡한 사각형 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/62048?language=cpp 가로의 개수와 세로의 개수만큼 사각형이 갈라진다는 것만 이해하면 이후 이런 패턴이 반복되는 수만 곱해서 전체 값에 빼면 된다. gcd를 구하는 방법은 유클리드호제법을 사용하였다. numeric이라는 헤더파일에 gcd, lcm이 추가되어 있으니 담번엔 사용하자. 내 제출 내 제출 - numeric

[프로그래머스][연습문제] 124 나라의 숫자 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12899?language=cpp 분명 3진법으로 변환해서 풀면 되는 문제였는데 1씩 차이가 난다는 걸 깨닫지 못해 제대로 못푼 문제. 다음 진수문제부터는 쉽게 풀수 있을거 같다. 내 제출

[프로그래머스][2017 팀스타운] 짝지어 제거하기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/12973?language=cpp 스택 문제인걸 알아차리기만 하면 쉬운 문제 내 제출

[프로그래머스][2018 KAKAO BLIND RECRUITMENT][1차] 뉴스 클러스터링 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17677?language=cpp# 예전에 학교 특강으로 자카드유사도 구하는 알고리즘을 했었는데, 그것과 똑같은 문제. set간의 합집합, 교집합 구하는 방법만 알면 쉬운 문제이다. <algorithm>에 set_union, set_intersection, set_difference 함수가 존재하니 사용하도록 하자. multiset의 iterator를 사용하려면 inserter()함수를 사용해야 한다 inserter(set, iter) 다른 풀이를 보니 문자열의 길이가 2자로 고정이므로 알파벳 개수 26*26해서 676을 따로 배열로 만들어서 뽑아오는 방식을 택했더라. 이것도 생각해보니 좋은 풀이인 것 같다. 합집합, 교집합을 구할 때 매우 편할 거 같.......

[프로그래머스][2021 카카오 채용연계형 인턴십] 거리두기 확인하기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/81302?language=cpp# 2번 bfs로 돌아서 P가 있으면 0, 없으면 1인 문제 2번 bfs로 돌기 위해 (abs(next_x-x)+abs(next_y-y)<2)라는 조건식을 만들었다. 00이면 01,10까지는 queue에 들어가므로 {02,11}{20,11}까지 확인 가능 확인해서 P가 있으면 거리두기를 못하는 것이므로 0, P가 없으면 거리두기를 잘하는 것이므로 1 내 제출

[프로그래머스][2020 카카오 인턴십] 수식 최대화 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/67257?language=cpp 자료구조시간에 배웠던 infix,prefix,postfix 문제와 비슷한 개념의 문제이다. +-* 세 개 중 어떤게 나왔는지 확인하기 위해 set operator는 늘 operand사이에 나오고, 결국 계산을 끝까지 하면 최종 값만 남으므로 operator를 기준으로 찾아서 결과값을 구한다. substr(i,cnt) : index i부터 cnt개를 substring화 vector<string> operand_vec(operand_set.begin(),operand_set.end()) : set의 내용물들을 vector로 복사 next_permutation(operand_vec.begin(),operand_vec.end()) : next_permutation은 순열을 만들어주면서, 중복인 경우를 제외하고 만들어.......

[프로그래머스][월간 코드 챌린지 시즌3] 빛의 경로 사이클 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/86052 사이클의 개념을 알고 있어야 해메지 않는 문제이다. 사이클 내 순환경로는 겹치지 않으므로 어떤 방향이든 그 사이클이 가는 방향을 포함하게 되면 겹치는 사이클이다. 내 제출

[프로그래머스][스택/큐] 프린터 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/42587?language=cpp 맨 처음과 뒤의 것들을 비교해서 크면 따로 저장, 크지 않으면 맨 뒤로 넘기는 문제인데, queue로는 뒤를 순회할 수 없어서 deque를 사용했다. queue는 정렬도 안되고, iterator도 사용할 수 없다. 문제를 풀고 다른풀이를 보니 priorities에서 가장 큰 값과 비교해서 같으면 따로 저장하고 index에 있는 값을 0으로 만들어 가장 큰값에 다시 안걸리도록 하고, 크지않으면 index만 맨 뒤로 넘기는 방식을 사용했는데 이방식이 더 좋은것 같다. 내 제출 내 제출 - 개선

[프로그래머스][찾아라 프로그래밍 마에스터] 게임 맵 최단거리 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/1844?language=cpp 문제는 쉬운 문제인데, 효율성 테스트를 자꾸 통과하지 못했다. 그래서 여러가지 조건을 추가했는데, 다음과 같다 1. 끝점이 먼저 가려져 있는지 확인하고, 가려져 있다면 -1 반환 2. 만약 answer가 이미 나왔다면 어차피 더하는건 무의미하므로 break 3. 현재 pair에서 다음 pair로 갈수 있는 것들 중에, 겹쳐서 pair를 넣는걸 방지하기 위해 visited처리는 바로바로 해준다. 내 제출

부동산 집값 정리 [내부링크]

1. 금리인하(코로나)로 인해 대출기회비용이 줄어들어서 주거 이동 수요가 촉진됨으로 인한 대출+ 생계비 등 가계 부채 증가 2. 주택시장으로 유입되는 투자수요가 늘어나 주택매매, 전세가 상승 3. 주담대 대출 중단, 신용대출 중단 4. 갭투자 시장 증가(전세대출은 막지 않아서 유동성 과잉공급) 5. 전세대출자금으로 다른시장 투자(20~30층 코인, 주식....)//이런 이야기가 있는데 납득은 안가지만 일단 그렇다 하자 6. 결국 물량은 동일한데 투자금이 많이 몰려서 상승 이런 집값이 뛰는 원인들을 잡기위해 금리상승 + 대출 제한 현재 진행중 - 주담대 대출 중단 - 신용대출 중단 - 전세대출 중단 이런 대출을 미리 막음으로써 내년 전세가 폭.......

[프로그래머스][고득점 KIT] 그래프 - 순위 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/49191?language=cpp 플로이드 와샬 알고리즘 처음 써본 문제. 모든 정점들간의 쌍에 대해 최단 경로를 한번에 구하는 문제. 정점들간의 최단경로를 저장하는 알고리즘에서 노드의 위치를 저장하는 것이 아니라 노드별 순위를 매기는 문제이므로 bool형을 사용 내 제출

[프로그래머스] [2020 KAKAO BLIND RECRUITMENT] 문자열 압축 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/60057?language=cpp# 1. 맨 앞(i)부터 j개씩 자르기(sub) 2. 다음 j개씩 자른 것과 비교(next_sub) - 같으면 cnt++, i+=j - 다르면 비교 끝난 것이므로 tmp에 cnt,sub 추가, 이때 cnt가 1이면 그냥 넘김 3. 1~2 반복 <주의할 점> cnt가 10이 되는 경우도 생각해서 tmp에 집어넣어야 한다. s의 길이가 1이면 압축불가이므로 1개, s의 길이가 2이면 압축되더라도 압축률은 동일하므로 2 내 제출

[프로그래머스] [2019 KAKAO BLIND RECRUITMENT] 오픈채팅방 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/42888?language=cpp# 여러개의 풀이방식이 있겠지만 2N의 시간이 걸리면서 푸는 방법을 택했다. enter와 change로 이름이 최종적으로 어떻게 바뀌는지 확인하고, enter와 leave에 대해서만 출력하면 된다. 내 제출

[프로그래머스] [2017 카카오코드 예선] 카카오프렌즈 컬러링북 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/1829?language=cpp# 다 풀어서 분명 맞았는데 왜 틀렸지 하고 봤는데, 전역변수 초기화 코드를 무조건 붙여달라고 하더라. 아마 옛날 문제라 테스트를 할 때 전역변수값들을 자동으로 처리해주지 않아서 그런 것 같다. 내 제출

[프로그래머스] [2017 카카오코드 예선] 단체사진 찍기 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/1835?language=cpp permutation 문제, next_permutation을 사용하는 방법과 백트래킹을 사용하는 방법 두가지로 풀어봤다. next_permutation이 확실히 시간면에서 좋다 abs(int) : 절댓값 계산 내 제출 - 백트래킹 내 제출 - next_permutation 사용

[프로그래머스] [2018 KAKAO BLIND RECRUITMENT][1차] 추석 트래픽 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/17676?language=cpp 다 풀었는데 double형이 제대로 계산이 안되서(1.999는 2로 인식, 0.001은 0으로 인식) int형으로 다 바꿔버리니까 제대로 작동됨. 구간에 한번이라도 겹치는 시간이 있으려고 한다면, 맨 앞이나 맨 끝이 구간 안에 존재하거나, 아예 구간 내에 시간이 존재하면 된다 각 구간마다 맨 앞과 맨끝이 존재하는지 검사하고, 맨 앞과 맨 끝이 각 구간 내에 있는지 검사해서 cnt++ 내 제출

프로그래밍 경진대회 문제1 [내부링크]

회문 문제. 정수의 최대 크기를 확인할 때는 A+B> INT_MAX로 하는게 아니라 A>INT_MAX-B로 해서 산술 오버플로우를 피해야 한다.

프로그래밍 경진대회 문제 2 [내부링크]

부분집합 구하는 문제 백트래킹으로 쉽게 구현 pop back push back 많이써서 list로 구현

[프로그래머스][고득점 KIT] 그래프 - 가장 먼 노드 [내부링크]

https://programmers.co.kr/learn/courses/30/lessons/49189?language=cpp# 1번에서 가장 멀리 떨어진 놈들의 개수를 세는 문제. 맨처음 1과 연결된 노드들을 vector에 담아서 queue에 저장하고, 다음 거리에 있는 노드들을 싹다 temp에 저장해서 다시 queue에 저장하고, 이걸 계속 반복하는 방식이다. 처음 제출을 하고나서 생각해보니 그냥 마지막 temp의 사이즈가 곧 가장 멀리 떨어진 놈들의 개수였다. 그래서 따로 개선한 것도 올려놓았다. 공간복잡도에서 이득을 본 것이다. 내 제출 내 제출-개선

[백준]1475 - 방 번호 [내부링크]

https://www.acmicpc.net/problem/1475 6과 9는 같은 번호 취급. 내 제출

플로이드 와샬 알고리즘(Floyd Warshall Algorithm : 최단거리 찾기) [내부링크]

ㅁ다익스트라 알고리즘과 같이 최단 거리를 구할 수 있는 알고리즘이다 ㅁ다익스트라 알고리즘 : 출발 정점을 하나 정해놓고 그 곳에서부터 다른 모든 정점으로의 최단 경로를 구한다 - 그중 가장 적은 비용을 하나씩 선택해 나간다(우선순위 큐 사용하면 시간복잡도 확 줄음) 원리 ㅁ모든 정점에서 모든 정점으로의 최단 경로를 구하는 알고리즘 - 정점과 정점, 모든 쌍의 최단 경로를 구하게 된다 ㅁ모든 쌍을 표현하는 행렬을 선언하고 dp 방식으로 각각의 원소들(각 쌍의 최단거리)을 갱신해 나간다 ㅁ거쳐가는 정점을 기준으로 알고리즘을 수행한다 - i에서 j를 가는데 k를 경유해서 가는 것이 더 빠르다면 그 정점을 거쳐서 가는 걸로 갱신.......