본문 바로가기

전체 글87

[22동계모각코] 7회 계획 및 평가 시작 시간 : 23-01-30 오후 6시 오늘의 목표 다익스트라(Dijkstra) 알고리즘 공부 이렇게 공부한 알고리즘을 정리해보는 것은 처음이다. 그래서 글이 너무 복잡하고, 정리가 안 되어 있다. 오늘은 다익스트라 알고리즘을 공부했다. 다익스트라 알고리즘은 정보 탐색 중에서 최단 경로를 구하기 위한 알고리즘이다. 정보 탐색이란, 탐색에 필요한 정보들을 탐색 전에 미리 알고 있는 경우이다. a에서 b까지의 이동경로를 직접 가보지 않고 미리 알수 있는 경우가 정보탐색인 것이다. 또 다른 특징이 있다면, 비용(cost)의 정보가 모두 음이 아닌 정수여야 한다. 비용 정보가 음수도 포함이 된다면 '플로이드-워셜' 알고리즘으로 해결해야 한댔다. *논외이긴 하지만 정보가 사전에 준비되지 않은 경우에는 다른 탐색.. 2023. 1. 30.
[22동계모각코] 6회 계획 및 평가 *5회차는 개인사정으로 불참 시작 시간 : 23-01-24 오후 6시 오늘의 목표 LG Aimers: AI전문가과정 - Module 4. 『딥러닝(Deep Learning)』 - 학습 완료하기 gradient diescent의 기본 개념 neural network의 기본적인 학습 과정에서 사용하는 기본 알고리즘. back propagation 기법 Deep learning이 하나의 합성 함수로 봤을 때에 각각의 편미분을 구할 수 있는 방법 gradient vanishing batch normalization CNN 특정 class에 존재할 수 있는 작은 특정 패턴들을 정의하고, 그 패턴들이 주어진 이미지 상에 존재하는지 판단한다. 지난 학기 '인공지능과 미래사회' 수업에서 배웠던 내용이다. 특징 추출 수.. 2023. 1. 24.
[S4] 백준 2417 - 정수 제곱근 (python3) https://www.acmicpc.net/problem/2417 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net 해결방법 0과 n(n>=0) 의 중앙값의 제곱이 n과 같은지, 큰지, 작은지를 따져보며 q를 구해내는 해결 방법이다. n과 m의 중앙값의 제곱은 앞으로 'n과 m의 중앙제곱'이라고 부르겠다. 만약 0과 n의 중앙제곱이 n과 같다면 그 값이 정답이다. ( 0과 4의 중앙제곱 = 2, 2^2 = 4) 만약 0과 n의 중앙제곱이 n보다 크다면 mid와 n의 중앙제곱을 비교한다. 만약 0과 n의 중앙제곱이 n보다 작다면 0과 mid의 중앙제곱을 비교한다. 위 조건문 안에서는 low와 high를 업데이트 해주는 작업도 반드시.. 2023. 1. 19.
[S3] 백준 2512 - 예산 (Python3) https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 해결방법 이분 탐색으로 풀이한다. 풀이👀 최소값과 최대값을 lo와 hi라고 하고, 그 안에서 binary search를 한다. 동작 과정은 아래와 같다. mid = (lo + hi) // 2 라 한다. ① mid를 상한액으로 지정한 뒤, 지방의 예산요청을 계산하여본다. 만약 합산한 게 국가예산을 넘어서면 hi = mid로 하여 다시 계산하고, 반대로 국가예산보다 적다면 lo = mid로 하여.. 2023. 1. 18.
23/01/17 7번째 모임 지난 모임 이후의 활동 리뷰 버튼을 누르면 다른 액티비티로 연결이 되어야 하는데, 그런 연결을 해줄 코드를 추가해놓지 않아서 추가하는 작업을 했다. Intent를 이용해서 액티비티를 화면에 띄우는 작업인데, 간만에 하려니 손에 잘 익지 않아 블로그들을 자주 찾아보며 작업했다. StartActivity(Content content, Intent intent, Bundle bundle) StartActivity(Intent intent) 메소드가 내 마음대로 작동하지 않아서 골머리를 앓고 있었는데, ViewHolder 안에서 Intent를 새로 띄우기 위해서는 앞 메소드가 아니라 위의 StartActivity를 사용해야 한다는 사실을 알고 아래처럼 얼른 고쳤다. public ViewHolderSearchGr.. 2023. 1. 17.
[S2] 백준 1012 - 유기농 배추 (Python3) https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 해결방법 배추가 상하좌우로 모여 있는 곳 하나당 필요한 배추흰지렁이 수가 된다. 그러므로 이렇게 모여있는 군집이 몇 개 인지만 파악하여 출력하는 것이 목표이다. 파악하는 방법은 DFS, BFS 등이 있는데 이 글에선 BFS를 다루고 있다. grid를 일일이 탐색하다가 배추가 있는 자리라고 표시해둔 곳을 마주치게 되면, BFS를 통해서 상하좌우에 위치한 배추들을 0으로 바꾸어준다. 0으로 바꾸는 이유는 '탐색을.. 2023. 1. 15.
[S2] 백준 11568 - 민균이의 계략 (Python3) https://www.acmicpc.net/problem/11568 해결방법 최장 증가 부분 수열(LIS, Longest Increasing Subsequence)의 기초 문제이다. 이전에 이 시리즈를 풀어본 경험이 있어서 풀이의 틀은 쉽게 잡았다. 나는 시간복잡도가 O(n^2) 인 알고리즘으로 문제를 풀었다. arr의 길이가 최대 1,000 이므로 O(n^2)은 1,000,000이라 제한시간(1초) 안에 충분히 통과가 가능하다. 더 빠른 방법은 O(n log n) 있다. n=1000 일때, n log n = 3000 이므로 더 빠르게 통과할 것이다. 풀이 이 문제의 풀이는 arr에 있는 각 원소를 주목해야 한다. arr에 있는 원소들을 반복문으로 앞에서부터 차례차례 접근할 것이다. 이때 그 원소가 이 .. 2023. 1. 15.
안드로이드 작업을 하면서 모르거나 실수했던 내용들 학습동아리 진행 하면서 계속 수정해나갈 예정(2023.01.15 ~ 버튼 shape, 색상이 적용이 안 될 때 : 여기 [안드로이드] 버튼 색깔 바꾸기 추가 : https://devshin93.tistory.com/112 ㄴ 공부하면서 알게 된 것. 아래 본문처럼 하면 안드로이드의 기본 테마가 모조리 바뀌어 버려 정신 없는 경우가 발생할 수 있다. 따라서 112번 게시글에서 소개 devshin93.tistory.com 앱 실행 했을 때, 상단에 titleBar 없애는 설정: res - values - themes 에 style 안에 아래 코드 추가하기 false true ViewHolder 는 MainActivity 클래스의 이너클래스로 넣지말고 그냥 같은 파일안에 추가해주기. (만약 여러 개의 view.. 2023. 1. 15.