목록분류 전체보기 (98)
Manduss life
[문제] https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 최단경로 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다...
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다...
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [느낀점] 문제를 읽고...아, 이건 못푸는 문제다. 느낌이 팍 왔다. 도저히 떠오르지가 않았다.. 그래도 풀이를 조금씩 참고하고 중간중간 내 머리로 다시 풀려고 노력했다. [알고리즘] DP 문제이다. 숫자 N을 cnt 번 사용했을 때의 나오는 수를 cnt 1부터 8까지 단순 반복문으로 계산한다. 계산하여 나온 수들을 cnt가 index인 list에 저장한다. 각 리스트 내부는 중복을 허..

[문제] https://www.acmicpc.net/problem/2150 2150번: Strongly Connected Component 첫째 줄에 두 정수 V(1 ≤ V ≤ 10,000), E(1 ≤ E ≤ 100,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는 의미이다. 다음 E개의 줄에는 간선에 대한 정보를 나타내는 두 정 www.acmicpc.net [느낀점 / 알고리즘] set 데이터 구조는 순서가 없다. 즉, 정렬을 하지 않는다. 단순 DFS로 사용한다면, 시간 초과가 걸린다. SCC를 풀기 위한 알고리즘은 코사라주 알고리즘, 타잔 알고리즘 2가지가 존재한다. 코사라주는 타잔보다 간단하게 구현이 가능하지만, 실제로는 타잔이 많이 쓰인다고 한다. 코사라주를 사..
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [느낀점] list의 내부 모든 원소 type을 바꾸는 방법 map 연산자 사용 int_list = map(int, str_list) 개월을 더할 때, 당연히 m = (m+month) % 12로 작성하였는데, 12의 배수일 경우, 0 이 들어감.. 테스트케이스 17번에서만 불통! 이부분 예외 처리 필요 !! [코드] def solution(today, terms, privacies): ..
Softmax 분류 문제를 풀 때, 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산 분류 문제를 풀 때, 선형 모델과 softmax 함수를 결합하여 예측한다. 학습 시에는 softmax를 사용하지만, 추론 시에는 원-핫 벡터를 사용한다. 원-핫 벡터는 최대값을 가진 주소만 1로 출력하는 연산이다. $$\textrm{softmax(o)} = \left ( \frac{exp(o_1)}{\sum_{k=1}^p exp(o_k)}, \cdots, \frac{exp(o_p)}{\sum_{k=1}^p exp(o_k)} \right )$$ layer 층을 여러 개 쌓는 이유 층이 깊을수록 목적함수로 근사하는데 필요한 뉴런의 수가 훨씬 빨리 줄어들어 효율적인 학습이 가능하다. 층이 얇으면 뉴런의 숫자가 기하급수적으..
__ 의미 특수한 예약 함수나 함수명 변경(맨들링)으로 사용 ex) __main__, __add__, __str__, __eq__ class SoccerPlayer(object): def __str__(self): return "Hello, My name is %s. I play in %s in center " % (self.name, self.position) jinhyun = SoccerPlayer("Jinhyun", "MF", 10) print(jinhyun) __str__없이 class의 object를 print 하면 안됨. __str__을 사용하면 가능. 상속 super().function() 이렇게 사용 class Person(object): # 부모 클래스 Person 선언 def __ini..
Tuple tuple 값 하나인 튜플은 반드시 ","를 붙여야함 ex) t = (1,) Set set에서 여러개 추가시 update 사용 ex) s.update([1, 2, 3]) s.add(1) ## 1개 추가시 add 사용 합집합 union | 교집합 intersection & 차집합 difference - Dictionary for k, v in country_code.items() : ##for문에서 이렇게 많이 쓴다 "korea" in country_code.keys() -> True 82 in country_code.values() -> True Queue rotate -> n칸씩 오른쪽으로 ex) deque([10, 0, 1, 2, 3, 4]) deque_list.rotate(1) deque..