전체 글

Programming/Coding Problem

BOJ 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3

핵심 포인트 시간 복잡도 제출코드 n = int(input()) print(n ** 2) print(2) 해설 이 문제를 풀 때 중요한 것은 주어진 문제 내의 코드를 분석하는 것 입니다. 주어진 MenOfPassion 함수는 2개의 변수 (A, n)를 입력으로 받습니다. 내부 알고리즘에서 중요한 부분은 반복문입니다. 보시면 n번 만큼 내부에서 2번 반복되고 있음을 알 수 있습니다. 따라서, 내부적으로는 총 $n^{2}$번의 함수가 실행되고 있으며 시간복잡도는 $O(n^{2})$이 되므로 최대 차수는 2을 출력하면 됩니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 24263번: 알고리즘 수업 - 알고리즘의 수행 시간 2

핵심 포인트 시간 복잡도 제출코드 n = int(input()) print(n) print(1) 해설 이 문제를 풀 때 중요한 것은 주어진 문제 내의 코드를 분석하는 것 입니다. 주어진 MenOfPassion 함수는 2개의 변수 (A, n)를 입력으로 받습니다. 내부 알고리즘에서 중요한 부분은 반복문입니다. 보시면 n번 만큼 내부에서 반복되고 있음을 알 수 있습니다. 따라서, 내부적으로는 총 n번의 함수가 실행되고 있으며 시간복잡도는 $O(n)$이 되므로 최대 차수는 1을 출력하면 됩니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1

핵심 포인트 시간 복잡도 제출코드 n = int(input()) print(1) print(0) 해설 이 문제를 풀 때 중요한 것은 주어진 문제 내의 코드를 분석하는 것 입니다. 주어진 MenOfPassion 함수는 2개의 변수 (A, n)를 입력으로 받습니다. 내부 알고리즘은 크게 2가지 연산으로 구성됩니다. 첫번째는 주어진 n을 2로 나누어 i 변수에 담는 과정입니다. 두번째는 배열 A의 i 번째 값을 인덱싱 하는 과정입니다. 이 두 연산은 모두 1번만 수행하면 함수가 종료됩니다. 따라서, 첫번째 출력은 1입니다. 주어진 코드는 상수 시간 복잡도를 가지기 때문에 두번째 출력은 0 입니다. 참고자료 및 그림출처 백준 코딩 문제

논문 함께 읽기/2D Image Classification (IC2D)

[IC2D] CondenseNet: An Efficient DenseNet using Learned Group Convolution (CVPR2018)

안녕하세요. 지난 포스팅의 [IC2D] Res2Net: A New Multi-Scale Backbone Architecture (IEEE TPAMI2019)에서는 2019년에 인공지능 최고 저널 중 하나인 TPAMI에 억셉된 모델인 Res2Net에 대해서 소개시켜드렸습니다. Res2Net은 multi-scale 정보를 활용하기 위해 입력 특징 맵을 group convolution을 이용해서 쪼갠 뒤 각 그룹 별로 계층적 residual-like connection을 추가하였습니다. 이를 통해, 기존 ResNet보다 훨씬 더 넓은 receptive field를 가지게 됨을 알 수 있었으며 새로운 모델의 차원인 scale을 도입하였습니다. 오늘은 CondenseNet이라는 효율성을 기반으로 한 새로운 모델에..

Programming/Coding Problem

BOJ 14125번: 세 막대

핵심 포인트 기초 구현력 삼각형 조건 제출코드 length = sorted(list(map(int, input().split()))) if length[-1] < sum(length[:2]): print(sum(length)) else: print(sum(length[:2]) * 2 - 1) 해설 3개의 각 막대의 길이를 입력받은 뒤 오름차순으로 정렬해줍니다. 일단, 삼각형의 조건을 만족해야하기 때문에 가장 큰 막대의 길이가 나머지 두 막대의 길이의 합보다 짧다면 바로 삼각형을 만들 수 있기 때문에 바로 sum 함수를 이용해서 세 막대 길이의 합을 출력합니다. 다음 조건을 삼각형의 조건이 애초에 만족하지도 않는다면 삼각형의 길이가 최대가 될 수 있는 막대의 길이를 찾아야합니다. 어차피 가장 큰 막대를 제..

논문 함께 읽기/2D Image Classification (IC2D)

[IC2D] Res2Net: A New Multi-Scale Backbone Architecture (IEEE TPAMI2019)

안녕하세요. 지난 포스팅의 [IC2D] MobileNet V2: Inverted Residuals and Linear Bottlenecks (CVPR2018)에서는 기존의 MobileNet과 ShuffleNet에서 성능이 하락한다는 문제점을 보완한 MobileNet V2에 대해 소개시켜드렸습니다. 핵심은 채널은 적은 경우 정보 보존을 위해 linear 활성화 함수를 적용하고 residual 연산량을 감소시키기 위해 채널의 수를 늘렸다가 줄이는 방식으로 선택합니다. 오늘은 multi-scale을 중요성을 강조한 Res2Net에 대해서 소개시켜드리도록 하겠습니다. Res2Net: A New Multi-scale Backbone Architecture Representing features at multipl..

Programming/Coding Problem

BOJ 5073번: 삼각형과 세 변

핵심 포인트 기초 구현력 삼각형 종류 숙지 제출코드 while True: length = list(map(int, input().split())) if sum(length) == 0: break temp = length[::] max_value = max(temp) temp.remove(max_value) if max_value >= sum(temp): print('Invalid') elif length[0] == length[1] == length[2]: print('Equilateral') elif (length[0] == length[1]) or (length[1] == length[2]) or (length[2] == length[0]): print('Isosceles') else: print('..

Programming/Coding Problem

BOJ 10101번: 삼각형 외우기

핵심 포인트 기초 구현력 삼각형 종류 숙지 제출코드 angle = [int(input()) for _ in range(3)] if sum(angle) != 180: print('Error') elif angle[0] == angle[1] == angle[2]: print('Equilateral') elif (angle[0] == angle[1]) or (angle[0] == angle[2]) or (angle[2] == angle[1]): print('Isosceles') else: print('Scalene') 해설 3개의 각도를 입력받습니다. 다음 3개의 조건문을 이용해서 삼각형을 분류할 수 있습니다. 1. 첫번째 조건은 입력받은 3개의 각도의 합이 180도 아닌 경우입니다. 이는 삼각형이 정의될 수..

Johns Hohns
Everyday Image Processing