일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- boj 15724
- 2025 프로그래머스 코딩챌린지 1차예선
- lock based stack
- 비밀 코드 해독
- render target
- 지게차와 크레인
- boj 11657
- 색종이와가위
- boj 22942
- boj 1074
- c++
- dp
- DirectX12
- lock free stack
- 브루트포스
- boj 11053
- PCCE
- tessellation
- 데이터 체커
- pccp 기출문제 풀이
- boj 20207
- boj 21921
- boj 1958
- DirectX
- 홀짝트리
- 프로그래밍공부
- lock based queue
- boj 6443
- pcce 기출문제 풀이
- LCS
- Today
- Total
목록오구의 코딩모험 (112)
오구의코딩모험

[코딩테스트 고득점KIT - 해시] 문제 설명이 긴데 요악하자면, 박사님이 폰켓몬을 나한테 절반 떼어 주시는데 난 절반을 가져갈 때, 많은 종류의 폰켓몬이 들어있음 한다. 즉 N개(항상 짝수)의 폰켓몬이 있다면, 난 N/2 마리를 데려갈 수 있다. 몇 종류의 폰켓몬이 있는지 알기 위해 set로 중복을 제거 해준다. nums = 폰켓몬 종류의 수, cnt = 내가 데려갈 폰켓몬 수 데려갈 폰켓몬 보다 종류가 적다면 종류의 수가 곧, 최대 종류의 수가 더 크다면 내가 데려갈 폰켓몬 수가 최대일 것이다.

[코딩테스트 고득점KIT - 해시] #주석# 에 쓰여있는 반복문으로 완주한 선수를 참가자 리스트에서 하나씩 빼는 코드를 작성했더니 효율성 테스트에서 모두 실패가 나온다. 문제 카테고리 해시기 때문에 Counter를 호출해서 원소의 빈도수를 빼주는 방식으로 다시 구현. Counter 말고 list에 있는 count를 사용해도 될 것 같다. list에 count가 있는지 몰랐다면 참고! python 문서 - list

딥 러닝(Deep Learning)은 머신 러닝(Machine Learning)의 특정한 한 분야로서 인공 신경망(Artificial Neural Network)의 층을 연속적으로 깊게 쌓아올려 데이터를 학습하는 방식이다. 인공 신경망이 뭔데? 초기의 인공 신경망인 퍼셉트론를 예시로 천천히 알아보자 퍼셉트론(Perceptron) [좌측 그림] 실제 뇌를 구성하는 뉴런의 동작은 신호를 받고 이 신호가 일정치 이상의 크기가 되면 신호를 전달해주는 구조라고 한다. [우측 그림] x는 입력값(Input), w는 가중치(Weight), y는 출력값(Output) 퍼셉트론은 뉴런과 유사하게 가중치의 곱의 전체 합이 임계치(threshold)를 넘으면y에 1을 출력, 그렇지 않으면 0을 출력한다. 위의 구조는 값을 ..

오늘은 비용 함수를 최소화하는 매개 변수인 w와 b을 찾기 위한 작업, 옵티마이저(Optimizer) (=최적화 알고리즘)에 대해 알아보도록 하자! 우선 지난 포스팅에서 공부했던 선형 회귀에 적합한 옵티마이저인 경사하강법부터 살펴보자 경사하강법(Gradient Descent) 지난 포스팅에서 함께 공부한 비용 함수는 평균 제곱 오차(MSE)였다. [좌측 그림] 오차를 제곱했기 때문에 오차와 가중치 w에 대한 그래프는 위와 같이 그려질 것이다. 편향을 나타내는 b는 제외하고 생각하였다. [우측 그림] 임의의 w값을 하나 설정하고 우리는 w값을 수정해나가며 cost가 최소값이 될 때를 찾는다. 그게 바로 비용 함수의 최소가 될 것이며 곧, 오차의 최소 [좌측 그림] 언제 최소가 되느냐 바로 접선의 기울기가 ..

딥러닝 공부에 앞서 머신러닝부터 공부해보자 오늘은 머신러닝의 기초인 선형 회귀에 대해 알아보겠다. 선형 회귀(Linear Regression) 선형 회귀는 한 개 이상의 독립 변수 x와 y의 선형 관계를 모델링 하는 것 이라고 하는데, 이게 무슨 뜻일까? 예를 들어보자 좌측의 사진은 어떤 학생의 공부 시간에 따른 점수를 나타낸 데이터다. 현재는 5시간 했을 때가 최대인데, 그럼 6시간을 공부했다면 점수는 몇 점일지 궁금하다. 정확하진 않겠지만 우측 사진과 같이 선을 그어 5시간을 초과했을 때의 점수도 예측해볼 수 있을 것이다. 이렇게 선을 그어 예측을 해보기 위해 수학적으로 수식을 세우게 되는데 머신러닝에서는 이러한 식을 가설(Hypothesis)이라 한다. 즉, 선형회귀는 주어진 데이터로 부터 y와 x..

PCA(Principal Component Analysis), 주성분 분석은 데이터들을 정사영 시켜 차원을 낮추는 차원 축소 역할을 한다고만 알고 있었다. 정의는 아는데.. 정확하게 이해를 하지 못하여 누구에게 설명할 수가 없다! 그러므로 오늘은 주성분 분석에 대해서 자세히 알아보자! 주성분 분석은 그림과 같이 데이터(파란점)의 분포를 잘 설명해주는 방향(노란색 직선)을 나타내는 방법이다. 그림에서 2차원 좌표에 있던 데이터들을 1차원인 직선으로 표현했다. 즉, 차원이 2 → 1 로 줄었다. (차원축소) 그럼 여기서 분포를 잘 설명해준다는 건 뭐고, 방향은 무엇을 기준으로 설정하는 걸까? 분포를 잘 설명해준다. → 데이터의 구조를 잘 설명해준다. 특히 특징 쌍(feature pairs)들의 변동이 얼마나..

요즘 내가 자주 사용하고 있는 Streamlit! 빠르게 데이터 어플리케이션을 만들 수 있는 Streamlit 프레임워크에서 로그인 기능(user authentication)을 넣어보도록 하자! 만약 Streamlit 을 처음 사용해본다면? https://yeomss.tistory.com/301 [Streamlit] 설치 및 시작하기 + 배포 개요 공식 사이트 https://streamlit.io/ Streamlit • The fastest way to build and share data apps Streamlit is an open-source app framework for Machine Learning and Data Science teams. Create beautiful web apps in ..

문제 설명 3줄 요약 1. 두 좌표에 터렛이 각각 존재한다. 2. 두 터렛에서 타겟까지의 거리가 주어진다. 3. 타겟이 존재할 수 있는 위치의 수를 구하여라. 알고리즘의 분류가 수학, 기하학인 것처럼 문제 설명이 굉장히 길지만 두 원의 접점을 구하라는 문제이다! 각 중심(좌표)과 반지름(타겟까지의 거리) 가 주어졌을 때, 겹치는 접점의 경우의 수는 위의 그림을 참고한다면 쉽게 알 수 있다! 기본적으로 두 원이 일치할 때, 답은 -1 (2) 두 원이 외접할 때, 답은 1 (3) 두 원이 내접할 때, 답은 1 (4) 두 원이 서로 떨어져 있고 만나지 않을 때, 답은 0 (5),(6) 한 원이 다른 원의 내부에 있고 두 원이 만나지 않을 때, 답은 0. (1)과 같은 나머지 경우, 답은 2 6 가지 정도로 분..

문제 3줄 요약 1. 8x8 체스판을 만들 것이다. 검은색,흰색 패턴인지 흰색,검은색 패턴인지 고려해야한다. 2. 틀린 패턴이 있다면 다시 색칠한다. 3. 크기가 다양한 체스판에서 최소한으로 고쳐서 색칠하여 만들 때, 수정하는 최솟값을 구하자! 알고리즘 분류가 브루트포스 알고리즘이었다. 즉, 완전탐색 알고리즘, 모든 경우의 수를 탐색하면서 요구 조건에 충족되는 결과만 가져오는 알고리즘이다. 따라서 틀을 먼저 만들고 필요한 모든 조건을 생각해보자! # N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수 입력 V,W = map(int, input().split()) chess = [] count = 0 count_list = [] color_list = ["W","B"] if __name__ == ..

문제 설명 3줄 요약 1. 길이가 N인 수열 P(0부터 N-1까지의 수를 한번씩 포함), 길이가 N인 배열 A, 길이가 N인 배열 B가 있다. 2. 수열 P를 배열 A에 적용하면 배열 B가 된다. B[P[i]] = A[i] 3. 배열 A가 주어졌을 때, 수열 P를 적용하면 비내림차순이 된다. 수열 P를 찾아라! 문제에서 포인트는 비내림차순 과 B[P[i]] = A[i] 식을 만족하는 것! 여기서 비내림차순은 이해하기로는.. 오름차순에서 같은 원소가 있을 때를 고려해준 정렬 방법이라고 이해하고 풀었다! Ex) 1, 2, 3 = 오름차순, 비내림차순 1, 2, 2, 3 = 비내림차순 이해했다면 입력 조건을 만족하는 틀 부터 짜보자! # 배열 A의 크기 N 입력, ex) 3 N = int(input()) # ..