전체 글165 [논문리뷰] SRCNN: Image Super-Resolution Using Deep Convolutional Networks 목차 원본 논문: https://arxiv.org/pdf/1501.00092.pdf #1,2 Introduction and Related Work > SRCNN의 장점 > SRCNN의 업적 #3 CNN for Super Resolution > SRCNN Layer 별 역할 > 기존 방식과 SRCNN의 비교 분석 #4 Experiments: > [1] 데이터셋의 크기에 따른 모델의 성능 차이 비교 > [2] 모델의 크기에 따른 성능 차이 비교 > [3] 필터 크기에 따른 모델의 성능 차이 비교 > [4] 모델의 깊이에 따른 성능 차이 비교 #5 Conclusion 이 글은 논문을 순서대로 해석하며 작성한 글입니다. 원본 논문과 같이 화면 분할하여 함께 보시는 것을 권장드립니다. 또한 글이 길기 때문에 "C.. 2023. 6. 12. [백준/Python] 13241번 최소공배수 문제 ■ 13241번 최소공배수 문제 ■ 코드 풀이 문제에서 요구한 내용은 두 가지입니다. 첫 번째는 두 숫자의 최소 공배수를 구하라는 것이고 두 번째는 큰 수의 경우는 64비트 정수로 선언하라는 것입니다. 최소 공배수를 구하는 건 유클리드 호제법을 활용하면 쉽게 풀 수 있는데요. 이전 문제 풀이에서 자세하게 코드 설명을 해드렸으니, 혹시 잘 모르시는 분들께서는 코드 아래의 풀이 문제를 다시 한번 살펴보고 오시면 도움이 될 것 같습니다. 두 번째 요구 사항, '큰 수의 경우에는 64비트 정수로 선언'에 대해서는 파이썬이라는 언어를 활용한다면 별도로 다른 정수형 타입을 선언할 필요가 없습니다. 그냥 int로 선언하면 그것이 64비트입니다. 이는 파이썬이 플랫폼 독립적인 인터프리터 언어여서 그런 것인데요. Jav.. 2023. 6. 7. [백준/Python] 1934번 최소공배수 문제 ■ 1934번 최소공배수 문제 ■ 코드 풀이 두 숫자의 최소 공배수는 두 숫자를 곱한 다음 최대 공약수로 나눈 몫입니다. 따라서 최소 공배수를 구하려면 먼저 최대 공약수를 구해야 합니다. 최대 공약수는 유클리드 호제법이라는 알고리즘으로 쉽게 구할 수 있습니다. 유클리드 호제법을 코드로 구현하면 아래 코드에서 while문인데요. a가 b보다 크거나 같은 수일 때, a를 b로 나눈 나머지를 a에 넣고 b를 a로 나눈 나머지를 b에 넣습니다. 그렇게 (a, b) 값을 b가 0이 될 때까지 갱신하면 a에는 a와 b의 최대 공약수가 들어가게 됩니다. 상세한 내용과 증명은 아래 위키백과의 링크를 참고해 주세요. T = int(input()) for _ in range(T): numbers = list(map(int.. 2023. 6. 5. [백준/Python] 11478번 서로 다른 부분 문자열의 개수 문제 ■ 11478번 서로 다른 부분 문자열의 개수 ■ 코드 풀이 #1 (2346ms) 중첩 for문을 활용하면 문제를 풀 수 있습니다. 중복을 허용하지 않으므로 우선 set을 하나 선언하고요. 1부터 문자열의 길이까지 하나씩 증가하면서 문자열을 slicing 하여 결괏값을 set에 넣어주면 됩니다. 저 같은 경우에는 반복문의 횟수를 줄이기 위해 2부터 시작했습니다. 문자의 개수가 1개일 때는 단순하게 set(문자열)을 하면 되고, 문자열의 개수가 문자열의 길이와 동일한 경우는 그냥 1개니까요. 최종 출력에서 더해줬습니다. 그런데 풀이 시간이 2346ms나 걸렸네요. 왜 이렇게 오래 걸렸는지 생각해 보니 join 때문이었습니다. 생각해 보면 굳이 join을 할 필요가 없는데 왜 썼을까요.. 'ab'나 ['a'.. 2023. 6. 3. [백준/Python] 1269번 대칭 차집합 문제 ■ 1269번 대칭 차집합 문제 ■ 코드 풀이 문제에서 set을 활용하라고 강력하게 주장하고 있는 것 같습니다. 실제로 set을 활용하면 쉽게 코드를 풀 수 있습니다. import sys N,M = map(int, input().split()) A = set(list(map(int, input().split()))) B = set(list(map(int, input().split()))) print(len(A-B) + len(B-A)) 2023. 6. 2. [백준/Python] 1764번 듣보잡 문제 ■ 1764번 듣보잡 문제 ■ 코드 풀이 #1: 통과(4028ms) 처음 문제를 봤을 때 두 가지 생각을 했습니다. 우선 첫 번째는 반복 횟수가 많으니 가급적이면 속도면에서 유리한 딕셔너리나 set을 활용해야겠다고 생각했습니다. 두 번째는 교집합을 표현할 수 있는 로직을 boolean을 활용하면 어떨까,라고 생각했습니다. 우선 먼저 그나마 편한 딕셔너리를 활용했고요. 듣도 못한 사람의 명단에 먼저 '이름 : False'로 딕셔너리에 저장합니다. 그리고 보도 못한 사람의 명단을 받으면서 기존에 이름이 없다면 당연히 교집합이 아니므로 다음 반복문으로 넘어(continue) 갑니다. 기존에 이름이 있다면 False를 True로 바꿔줍니다. 그럼 결과적으로 교집합인 사람들은 Value가 True로 남게 됩니다... 2023. 6. 1. 이전 1 ··· 8 9 10 11 12 13 14 ··· 28 다음