분류 전체보기
-
[Python] 코드 트리 / 루돌프의 반란코딩테스트 2024. 10. 12. 23:09
문제링크 특별한 기교가 있는 풀이는 아니고, 그냥 하라는 대로 한 코드.import sysimport heapqinput = sys.stdin.readlineclass Santa: def __init__(self, number, x, y, N): self.number = number self.x = x self.y = y self.score = 0 self.active = True self.stuned = 0 self.distance_to_rudolf = None self.N = N def __lt__(self, other): if self.distance_to_rudolf != o..
-
[Python] 코드트리 / 고대 문명 유적 탐사코딩테스트 2024. 10. 11. 19:01
문제 링크 큰 행렬 내에서 작은 행렬을 도려내서 돌리고 전치하고 하는 것은 숙달해놓고 있지 않으면, 실전에서 당황하기 쉬우므로, 어느정도 외워놓는 것이 좋다. 이 문제에서 활용했던 코드는 아래와 같다: def _rotate(self, angle): matrix = [row[self.y:self.y+3] for row in self.graph[self.x:self.x+3]] if angle == 90: #시계방향 return [list(row[::-1]) for row in zip(*matrix)] elif angle == 180: return [row[::-1] for row in matrix[::-1]] el..
-
[Python] 코드트리 / 코드트리 투어코딩테스트 2024. 10. 9. 21:30
문제 링크 객체를 heapq로 관리하려면...진짜 도저히 안 풀려서 정답 코드를 참고하였다. 즉, 밑에 작성할 풀이 코드는 정답 코드에서 상당 부분을 참고했음을 밝힌다. 실전 코테에서 class로 객체를 선언해서 문제를 푸는 것은, 사실 실현하기는 어려울 것이다. 어지간히 능숙하지 않고서야 더 헷갈리기 마련이니까. 하지만, 조금이라도 시간복잡도 갖고 장난치는 문제를 만나면 객체를 선언하는 방법 말고는 없을 때가 있다. 그런데 문제가 있었다. 나는 지금까지 객체를 heapq로 관리할 줄 몰랐어서 heapq를 사용해야 할 때면 객체 사용을 포기하고는 했다. 그런데 정답 코드를 공부하면서 객체를 heapq로 관리할 수 있는 방법을 터득하였다!class Package: def __init__(self, ..
-
[Python] 코드트리 / 마법의 숲 탐색 (라이브러리 안 쓴 풀이)코딩테스트 2024. 10. 9. 14:44
문제 링크 문제 풀이 전략 문제 설명이 약간은 모호하게 되어있어서, 솔직히 실전 코딩테스트였으면 많이 당황스러웠을 것 같다.골렘 한 대 안착정령 이동그 다음 골렘 안착정령 이동...을 반복하는 것인지,골렘 한 대 안착그 다음 골렘 안착... 그렇게 해서 모든 골렘이 안착그 이후에 정령이 이동하기 시작을 반복하는 것인지 조금 헷갈리기는 하는데, 어느 골렘의 일부분이라도 숲 밖으로 벗어나면 숲 내 골렘이 전부 숲 밖으로 나가야 하므로 전자라고 해석하는 것이 타당하다. 코드트리 공식 풀이에는 BFS를 이용한다. 나도 BFS를 이용하기는 했는데, 이게 조금은 더 효율적인 풀이라고 생각한다. 이렇게 딕셔너리에 골렘의 중간 좌표와 출구 방향을 정해가면서, 동시에 딕셔너리에 추가할 때마다 탐색을 진행해야 한다. ..
-
[Python] 코드트리 / 색깔 트리 (라이브러리 안 쓴 풀이)코딩테스트 2024. 10. 8. 19:00
문제 링크 정답 코드구현. 구현. 빡구현.. 중요한 건 아니지만, Class 내에서 함수를 선언할 때, 단일밑줄(_)을 앞에 붙이면 관례적으로 Class 내부용 함수를 의미한다. 관례일 뿐이므로 여전히 Class 외부에서 호출이 가능하다. 이중밑줄(__)을 앞에 붙이면 이름이 맹글링(mangling)되어 외부에서 접근하려면 Class 이름을 앞에 붙여야 해서 접근이 어려워지지만 여전히 접근이 가능은 하다. 즉, C++, Java와 같이 진정으로 protected, private void가 아니다.n = int(input())orders = []nodes = {}for _ in range(n) : orders.append(list(map(int, input().split())))class Node :..
-
Multi-Conditioned Denoising Diffusion Probabilistic Model (mDDPM) for Medical Image Synthesis 논문 리뷰논문 후기와 구현 2024. 10. 8. 15:51
한 달 전(24년 9월)에 공개된 논문이다. 이 논문을 DDPM을 사용하되, 해부학적 가이드를 통한 샘플링을 적용한다. 조건 명세를 입력으로 받아 주석이 달린 합성 이미지를 생성하여 의료 AI의 학습데이터 부족 문제를 해결하는 데에 목적이 있다. 1. 이 논문은 DDPM을 이용한다.아래는 이 논문에 나온 수식인데, 기본적인 DDPM 수식에서 크게 바뀐 부분이 없다. DDPM은 한마디로, 노이즈로 가득한 x_T에서 x_{T-1}, x_{T-2}, ..., x_0까지 노이즈를 줄여가며 이미지를 생성하는 것이다. 2. Multi-Annotations Guidance이 논문의 핵심(?)은 여기서부터이다. ILVR(서울대학교 최주영 등)의 Guidance 기법을 이용하여, 모든 HU windows(의학용어임..
-
Spline-based Transformers 요약논문 후기와 구현 2024. 10. 7. 15:04
논문 링크 최근 코딩테스트 공부에 열중했어서, 이 블로그 개설의 진정한 목적인 논문 요약을 거의 못하고 있었는데, 와중에 굉장히 흥미로운 논문이 발표되었다. 열흘 전에 디즈니에서 나온 따끈따끈한 논문이다. 아는 형과 이 논문에 대해 이야기를 나누다가 듣기를, 산공 쪽 분야에서는 디즈니의 연구가 꽤나 유명하다고 한다. 아래의 글은 단순 요약이기라기보다는 내가 기존에 알고 있었던 내용과 생각이 많이 가미된 내용임을 밝힌다. 1. 이 논문은 "절대 위치 인코딩"이 없는 Transformer를 제안한다.일단 이 위치 인코딩이라는 것은 본디 Attention 시에 두 단어 사이의 거리는 고사하고 단순한 위치정보마저 전부 손실되기 때문에, 같은 단어로 구성된 문장이라면 정상적인 순서로 이루어진 문장이 아니라, 랜..
-
[Python] 프로그래머스 / 월간 코드 챌린지 시즌2 / 모두 0으로 만들기코딩테스트 2024. 10. 6. 12:11
문제 링크 DFS에서 이따금씩 쓰이는 nonlocal 선언def outer(): x = 10 def inner(): x += 5 inner() print(x) outer()"""---------------------------------------------------------------------------UnboundLocalError Traceback (most recent call last) in ()----> 1 outer()1 frames in inner() 4 def inner(): 5 #nonlocal x # 바깥 함수의 x 변수에 접근----> 6 ..