전체 글
-
[프로그래머스] 폰켓몬 (by Python)Programming/Algorithm 2021. 5. 16. 03:46
문제 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 풀이 def solution(nums): a = len(set(nums)) b = len(nums) // 2 return b if a > b else a 만약 폰켓몬의 종류가 가져갈 수 있는 폰켓몬의 수보다 적다면, 그 종류의 개수가 답이 될 것입니다. 그렇지 않다면, 가져갈 수 있는 폰켓몬의 수가 최댓값일 것입니다.
-
[프로그래머스] 음양 더하기 (by Python)Programming/Algorithm 2021. 5. 16. 03:39
문제 https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 풀이 def solution(absolutes, signs): return sum(absolutes[i] if signs[i] else -absolutes[i] for i in range(len(absolutes))) 두 리스드의 값에 따라 합을 계산하는 간단한 구현 문제. list comprehension을 이용하여 한 줄로 끝낼 ..
-
[프로그래머스] 더 맵게 (by Python)Programming/Algorithm 2021. 5. 16. 03:36
문제 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 풀이 import heapq def solution(scoville, K): count = 0 scoville.sort() while len(scoville) != 1: temp = heapq.heappop(scoville) + 2 * heapq.heappop(scoville) heapq.heappush(scoville, temp) count ..
-
[논문리뷰] Generative Adversarial NetsArtificial Intelligence/Computer Vision 2021. 5. 13. 04:16
개요 딥러닝의 대가인 Ian Goodfellow에 의해 쓰여진 이 논문은 2014년에 NIPS에 발표되어 지금까지 30,000회가 넘는 인용수를 자랑하며 생성 분야에 있어서 새로운 지평을 열었다고 해도 과언이 아닌 성과를 낳았습니다. AlexNet이 ILSVRC에서 우승을 한 것이 2012년이니 딥러닝이 다시 본격적으로 주목받게 된지 시간이 좀 지난 후였습니다만, 아쉽게도 딥러닝은 아직 그 저력을 분류 모델에서만 보인 상태였습니다. Maximum Likelihood Estimation(MLE) 등에서 발생하는 확률 연산들을 근사하는 것, 생성의 관점에서 개별적인 선형 데이터들로부터 얻을 수 있는 이득을 극대화하는 것이 어려웠기 때문입니다. 이러한 한계점을 저자는 새로운 데이터를 만들어내는 Generato..
-
[코드리뷰] StarGANArtificial Intelligence/Computer Vision 2021. 5. 4. 18:09
지난번에는 StarGAN 논문을 훑어보며 StarGAN이 어떻게 여러 도메인 간의 translation을 하나로 통합하여 학습하며 그것이 어떻게 더 좋은 결과를 가져오는지를 살펴보았습니다. 수식 등을 통하여 이론적으로 어느 정도 파악했으니, 코드를 살펴봄으로써 어떻게 각 이론들을 실제로 구현하였는지 알아보는 것이 매우 큰 도움이 되리라 봅니다. 공식 코드 출처는 다음과 같습니다. https://github.com/yunjey/stargan yunjey/stargan StarGAN - Official PyTorch Implementation (CVPR 2018) - yunjey/stargan github.com DataLoader def get_loader(image_dir, attr_path, selec..
-
[백준] 17086번 아기 상어 2 (by Python)Programming/Algorithm 2021. 4. 11. 18:00
문제 https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸의 개수가 한 개 이상인 입력만 주어진다. www.acmicpc.net 풀이 처음에는 각 칸에서 최소 거리를 구하는 아이디어를 떠올렸지만 computation cost가 너무 클 것 같다는 생각이 들었다. 그래서 빈칸에서 상어까지의 거리를 구할 것이 아니라 상어로부터 각 칸의 최소 거리를 propagate하는 방식으로 저장하면 보다 효율적일 것 같다고 생각했고, 다행히 시간 초과에 걸리지 않았다. import sys from coll..
-
[백준] 1303번 전쟁 - 전투 (by Python)Programming/Algorithm 2021. 4. 11. 17:40
문제 https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 풀이 전쟁터의 원소들을 하나하나 짚어나가면서 방문한 적이 없는 원소일 경우 방문해서 인접해있는 모든 같은 팀의 병사들을 BFS를 통해서 찾은 후에 병사들의 수를 제곱한 수를 해당하는 팀에 넣어준다. 그리고 나서 각 팀의 배열에 들어있는 수들을 모두 합해서 출력해주면 문제 해결~! import sys from collections import deque input = ..
-
[백준] 1038번 감소하는 수 (by Python)Programming/Algorithm 2021. 4. 8. 23:06
문제 https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 풀이 def solution(n): num = 0 for _ in range(n): if num 1: str_num[i..