'분류 전체보기' 카테고리의 글 목록 (4 Page)
본문 바로가기

분류 전체보기42

인공지능(AI), 어떻게 시작된 것일까? 일상에 스며든 인공지능 과거 SF 영화나 소설 속에서만 등장하던 상상 속의 기술들이 과학의 발전으로 세상에 그 모습을 점차 드러내고 있습니다. 인공지능도 그 기술 중의 한 종류입니다. 인공지능은 그중에서도 특히, 상상 속에서보다 더욱더 다양하고, 일상에 친숙한 모습으로 나타나고 있습니다. 위의 그림을 보신 적이 있나요? 섬세한 붓 터치와 화려한 색, 미래지향적인 웅장한 오페라 극장이 눈에 띄는 작품입니다. 사실 위 작품은 게임 기획자인 제임슨 M.앨런이 "미드저니(Midjourney)" 라는 인공지능 프로그램을 이용하여 만들었습니다. 실제로 이 작품이 미국 콜로라도 주립 박람회 미술대회에서 우승해서, 논란이 되기도 하였습니다. 인공지능이 만든 작품을 예술로 볼 수 있는지가 쟁점이었는데, 더 나아가서 인간.. 2023. 1. 30.
[내돈내산][제품 리뷰] iptime 와이파이 무선 확장기(증폭기) Extender-GIGA 새집으로 이사를 하고난 뒤, 서재 방 정리가 안되어 있어서 안쓰다가, 요즘에서야 서재에서 퇴근 후에 블로그를 하고 있다. 그런데, 와이파이가 서재 방에서는 터지지 않는 것을 알게되었다.. 거실 벽걸이 TV 뒷면에 공유기를 설치해두었는데, 서재까지는 신호가 오지 않는 모양이다. 그래서, 와이파이 확장기를 알아보게되었고, 몇가지 서칭을 해본 뒤에, 아래 제품을 구매해서 설치를 하게 되었다. * 확장기 = 증폭기 같은 말이다. 공유기의 신호를 받아서, 더 넓게 쓸 수 있게 한다. * 공유기는 셋탑 또는 벽면의 인터넷 LAN선과 연결 기기를 말한다. 리뷰 ITEM 브랜드 : 아이피타임 (iptime) 품명 : 와이파이 무선 확장기 Extender-GIGA 특징 : GIGA 와이파이에 대해서 확장 가능 와이파이 .. 2023. 1. 27.
[Beginner][정올] 3106번 : 진법변환 [Beginner][정올] 3106번 : 진법변환 JUNGOL www.jungol.co.kr [풀이 후기] 난이도 : ★☆☆☆ (Beginner) 문제 종류 : 진법 변환 해결 방법 : Horner's Method * 난이도 구분 ★☆☆☆ (Beginner) : 알고리즘 적용만으로 해결 가능 ★★☆☆ (Advanced) : 알고리즘을 활용하여 구현해야 해결 가능 ★★★☆ (Pro) : 알고리즘을 활용한 구현 + 최적화 아이디어로 해결 가능 ★★★★ (Expert) : Pro보다 발전된 최적화 아이디어로 해결 가능 문제 문제분석 0≤​ S를 10진수로 바꾼수 ≤​ 2^63-1 이므로, A가 2진법이라고 할 때, 최대 64길이의 수가 입력될 수 있다. A진법에서 B진법으로 어떻게 변환할지 고민해보자. 접근 .. 2023. 1. 25.
[Pro][삼성] 15942번 : 외계인 침공 - 1 삼성 SWEA 15942 : 외계인 침공 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [풀이 후기] 난이도 : ★★★☆ (Pro) 문제 종류 : Sort & Binary Search 해결 방법 : Merge Sort, Upper bound * 난이도 구분 ★☆☆☆ (Beginner) : 알고리즘 적용만으로 해결 가능 ★★☆☆ (Advanced) : 알고리즘을 활용하여 구현해야 해결 가능 ★★★☆ (Pro) : 알고리즘을 활용한 구현 + 최적화 아이디어로 해결 가능 ★★★★ (Expert) : Pro보다 발전된 최적화 아이디어로 해결 가능 문제 문제분석 초기에 가진 함선 수(K)와 "동원"으로 추가된 함선을 .. 2023. 1. 25.
[알고리즘][탐색][C/C++] Lower Bound, Upper Bound Lower Bound, Upper Bound 특징 Lower Bound : 원하는 값 k 이상이 처음 나오는 위치를 찾기 Upper Bound : 원하는 값 k 초과가 처음 나오는 위치를 찾기 Binary Search (= 원하는 값 k의 위치 찾기)에서 파생된 index search 알고리즘 시간복잡도 : O(logN) Lower Bound, Upper Bound 과정 이해하기 이 2가지 알고리즘의 결과는 아래 그림처럼 표현할 수 있다. 그렇다면, 위의 결과를 어떻게 구현할 수 있을까? 먼저 Lower Bound 구현 과정을 확인해보자. [ Lower Bound 과정 ] 1. 배열의 처음과 끝을 각각 s와 e로 설정한다. 2. s와 e의 중간인 mid index를 계산한다. 3 - ①. K A[mid].. 2023. 1. 24.
[Advanced][백준] 11650번 : 좌표 정렬하기 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [풀이 후기] 난이도 : ★★☆☆ (Advanced) 문제 종류 : Sort 해결 방법 : Merge Sort * 난이도 구분 ★☆☆☆ (Beginner) : 알고리즘 적용만으로 해결 가능 ★★☆☆ (Advanced) : 알고리즘을 활용하여 구현해야 해결 가능 ★★★☆ (Pro) : 알고리즘을 활용한 구현 + 최적화 아이디어로 해결 가능 ★★★.. 2023. 1. 23.
[Advanced][정올] 1190번 : 모두더하기 1190 : 모두더하기 JUNGOL www.jungol.co.kr [풀이 후기] 난이도 : ★★☆☆ (Advanced) 문제 종류 : Sort 해결 방법 : Heap Sort * 난이도 구분 ★☆☆☆ (Beginner) : 알고리즘 적용만으로 해결 가능 ★★☆☆ (Advanced) : 알고리즘을 활용하여 구현해야 해결 가능 ★★★☆ (Pro) : 알고리즘을 활용한 구현 + 최적화 아이디어로 해결 가능 ★★★★ (Expert) : Pro보다 발전된 최적화 아이디어로 해결 가능 문제 문제 분석 두 수를 더할 때, 두 수의 합만큼의 "비용"이 발생한다. N개의 수를 그냥 더하는 것이 아니라, 최소의 "비용"으로 더해야한다. 10만 이하의 자연수 5000개를 서로 더할 수 있으므로, int 범위를 넘을 수 있음.. 2023. 1. 22.
[Advanced][정올] 1318번 : 못생긴 수 정올 1318 : 못생긴 수 JUNGOL www.jungol.co.kr [풀이 후기] 난이도 : ★★☆☆ (Advanced) 문제 종류 : Sort 해결 방법 : Heap Sort * 난이도 구분 ★☆☆☆ (Beginner) : 알고리즘 적용만으로 해결 가능 ★★☆☆ (Advanced) : 알고리즘을 활용하여 구현해야 해결 가능 ★★★☆ (Pro) : 알고리즘을 활용한 구현 + 최적화 아이디어로 해결 가능 ★★★★ (Expert) : Pro보다 발전된 최적화 아이디어로 해결 가능 문제 문제 분석 못생긴 수란, 소인수분해 시, 2, 3, 5 뿐인 수를 말한다. 즉, 이 3가지 수를 곱해서 만들어진 수 이다. N 0 && cnt = 1 && newData > 1]; c >>= 1) heap.. 2023. 1. 21.
[알고리즘][정렬][C/C++] Heap Sort (우선순위 큐) Heap Sort (우선순위 큐) 특징 Tree 구조(완전이진트리)를 활용하는 알고리즘 Heap에 저장된 상태는 완전히 정렬된 상태가 아니고, Heap에서 Pop할 때, 정렬이 완성된다. 우선순위 큐 (정의된 우선순위에 따라 처리되는 큐) 를 Heap으로 보통 구현한다. 시간복잡도 : O(N*logN) N 크기의 배열을 이용하여 구현한다. * 완전 이진트리 (Complete Binary Tree) : 이진 트리의 원소가 왼쪽부터 채워지는 트리를 말한다. : 아래 그림 중, A, C, D에 해당 * Heap : 아래 그림 중 A, D에 해당 : A는 Min Heap, D는 Max Heap * Heap 구조와 배열 Index의 관계 ● Left Child Index = p * 2 ● Right Child I.. 2023. 1. 20.
[알고리즘][정렬][C/C++] Merge Sort (병합정렬) Merge Sort (병합정렬) 특징 비교를 통해 정렬하는 비교기반 정렬 알고리즘 Divide & Conquer (분할 정복) 알고리즘 시간 복잡도 : O(N*logN) N크기의 임시 배열 1개가 추가적으로 필요 Merge Sort 과정 이해하기1 - 전체 Process Merge Sort는 분할하여, 정렬한뒤, 이를 비교하면서 Merge하는 과정을 통해서 이루어진다. 먼저, 배열에 2개의 Data가 있을 때, 오름차순으로 Merge Sort하는 과정을 살펴보자. 3과 1을 분할한 뒤에, 각각을 정렬해야하지만, Data가 1개씩 있기 때문에 정렬할 필요가 없다. 분할된 두 배열을 합칠 때, 비교하여 둘 중에 작은 수가 먼저 오도록 Merge 한다. 이제 배열에 6개의 Data가 있을 때, 오름차순으로 M.. 2023. 1. 18.
반응형