목록전체 글 (116)
while (1): study();

출처: https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 정렬 문제라고 마냥 쉬운 것만은 아니라는 것을 깨닫게 해준 문제입니다. 각종 정렬기법을 달달 외우는 것보다, 어떻게 해서 정렬 알고리즘을 효과적으로 이용할만한 로직을 짤 수 있는지가 더욱 관건인 듯 합니다. 특히 이 문제의 경우 세심한 부분을 신경써주지 않으면 모든 테스트 케이스를 통과할 수 없습니다. 이하는 전체 소스코드입니다. def solution(..

출처: https://www.acmicpc.net/problem/18310\ 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 처음에 이진탐색을 이용해 접근하려 했으나 아이디어만 떠올릴 수 있다면 쉬운 문제이다. 역시 문제를 풀기 전에 손보다는 머리를 움직이는 것이 중요하다는 것을 다시금 느끼게 된다. 결과적으로 최적의 안테나 설치 장소는 중앙값이다. 중앙에서 멀어지면 멀어질수록 거리가 멀어진다는 것을 휴리스틱하게 확인할 수 있으며, 생각을 조금만 해봐도 그렇다. 소스코드는 다음과 같이 간단하게 작성할 수 있다. n = int(inpu..

이스라엘 연구팀에서 2017년에 발표한 연구 논문입니다. Tabnet에서 사용된 Ghost BN에 대해서 찾아보다가 논문을 읽게 되어 리뷰해보려 합니다. Tabnet의 논문 리뷰는 이후에 진행하도록 하겠습니다. 1. Introduction 아직까지 인공지능 모델의 훈련에 있어 SGD는 중요한 역할을 하고 있습니다. 여담으로 Adam과 같이 Adaptive learning rate를 지원하는 방식은 훈련의 초기에 (특히 Transformer 아키텍처에서) 불안정한 양상을 보인더랬죠. 그럼으로 인해 SOTA급 성능을 뽑아내기 위해서 SGD 튜닝은 거의 불가피해 보입니다. 그러나 SGD의 특성상 국소 최적해에 빠지는 등 일반화의 문제에 대해서 많은 관심이 끌렸고, 그 중 하나가 배치 사이즈가 너무 크면 모델이..

출처: 10825번: 국영수 (acmicpc.net) 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net sort함수에 대한 이해도가 있다면 쉽게 해결할 수 있는 문제입니다. N이 1 이상 100,000 이하이기 때문에 O(NlogN)의 시간복잡도를 보장하는 기본 정렬 기능을 사용할 수 있습니다. 소스코드는 다음과 같습니다. n = int(input()) array = [] for _ in range(n): array.append(input()) array = [row.split() for r..

ArXiv 링크: https://arxiv.org/abs/1609.08144 Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation Neural Machine Translation (NMT) is an end-to-end learning approach for automated translation, with the potential to overcome many of the weaknesses of conventional phrase-based translation systems. Unfortunately, NMT systems are known to be computationall..

출처: https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 모든 간선의 길이가 1인 그래프 문제의 경우 BFS를 이용하여 해결할 수 있습니다. 다만 이 문제같은 경우 로봇의 길이가 2x1이기 때문에 좌표 2개를 신경써야 하고, 또한 회전을 구현해야 한다는 점에서 상당히 까다로운 문제입니다. 해당 문제의 시간제한은 1초이며, board의 한 변의 길이가 5 이상 100이하라는 점에서 크게 iteration 횟수에 구애받지 않고 풀이할 수 있으나..