안경잡이개발자

728x90
반응형

  종합소득세나 부가가치세를 납부하는 과정에서 궁금한 점이 생길 수 있다. 사실 자신이 운영하고 있는 사업이 영세한 경우에는 혼자서도 간단히 홈택스(Hometax)에서 세금을 납부하는 경우가 많다. 하지만 규모가 커질수록 서서히 국세청 상담 서비스나 세무사의 도움이 간절해지는 경우가 많다.

 

※ 국세청 상담센터(126) ※

 

  기본적으로 세법이나 홈택스 이용 방법 등 국세와 관련한 문의가 있을 때는 국번없이 국세청(126)에 전화할 수 있다. 실제로 전화를 해보면, 종합소득세(종소세), 종합부동산세(종부세) 등의 구분에 따라서 상담원은 연결해 준다.

 

  개인적으로 많이 사용하는 국세청 상담센터의 단축번호는 다음과 같다.

 

  ▶ 원천세, 종합소득세, 지급명세서 신고/납부 (홈택스 상담): 126 - 1 - 3 - 2

  ▶ 부가가치세 신고/납부 (홈택스 상담): 126 - 1 - 3 - 3

  ▶ 종합소득세 (세법 상담): 126 - 2 - 4

  ▶ 부가가치세 (세법 상담): 126 - 2 - 2

 

  상담 시간은 평일 기준으로 오전 9시부터 오후 6시까지로 알려져 있다.

 

※ 국세청 인터넷 상담 ※

 

  국세청 홈택스에 방문하면 무료로 인터넷 상담을 진행할 수 있다.

 

  ▶ 홈택스(Hometax): https://www.hometax.go.kr/

 

  홈택스에 접속한 뒤에 [상담/제보] - [인터넷 상담하기] 페이지로 이동하면 다음과 같은 화면이 등장한다. 여기에서는 세법 관련 상담과 홈택스 사용 방법 관련 상담을 진행할 수 있다. 특히 [Q&A] 페이지로 이동하면 굉장히 깔끔한 디자인으로 나옵니다.

 

 

※ 마을 세무사 ※ 

 

  또한 마을 세무사라는 서비스도 있다. 세무 행정과 관련한 전문지식이 부족한 시민들에게 마을 단위로 지정된 세무사들이 무료로 세무 상담을 진행해주는 서비스다. 전화나 이메일을 이용해 상담을 진행할 수도 있고, 직접 방문하여 상담을 진행할 수도 있다. 기본적으로 재능기부를 해주는 고마운 세무사분들로 알려져 있다.

 

  1) 각종 세금 문제를 무료로 상담해준다.

  2) 세무사 상담 비용이 부담되는 주민들이 우선적으로 이용 가능하다.

  3) 자신이 거주하고 있는 곳과 가까운 마을세무사에게 상담을 신청할 수 있다.

 

  ▶ 마을세무사 찾기: https://www.mois.go.kr/frt/sub/a06/b07/selectVTAList2.do

 

행정안전부> 업무안내> 지방재정경제실> 마을세무사

마을세무사 HOME > 업무안내> 지방재정경제실> 마을세무사

www.mois.go.kr

 

 

※ 유료로 세무사 상담이 필요하다면? ※

 

  유료로 세무사 상담이 필요하다면 자신이 사는 곳 주변에 있는 세무사 사무실에 찾아가거나, 각종 재능 판매 사이트에서 재능 구매를 하여 세무사와 상담을 진행할 수 있다. 당연히 유료로 돈을 쓰는 경우에는 종합소득세 신고를 대행해주는 등으로 복잡한 작업을 대신해주는 경우가 많다. 나는 아직 유료로 세무 서비스를 받아 본 적은 없다.

728x90
반응형

728x90
반응형

  유튜브와 같은 매체에서는 다양한 뉴스(news)를 참고하는 경우가 많습니다. 다만 기본적으로 언론사에서 제공하는 뉴스 기사에는 저작권이 있습니다. 이를 뉴스 저작물이라고 부르는데, 뉴스에는 사진이나 동영상이 포함된 저작물입니다. 그래서 뉴스 기사 내용을 그대로 담은 유튜브 영상을 만들거나, 적절하지 못한 다른 곳으로 옮기거나 하면 저작권법상 문제가 될 수 있습니다.

 

  (다만 저작권법 제7조 제5호에 따르면 "사실의 전달에 불과한 시사 보도"는 저작권법에 의한 보호를 받지 못한다고 명시되어 있습니다. 그래서 경우에 따라서는 뉴스 기사라고 해도 저작권 문제없이 사용이 가능한 경우도 있습니다.)

 

  그렇다면 뉴스 저작권을 구매하여 사용하려면 어떻게 하면 될까요? 직접 언론사와 컨택을 할 수도 있으며, 뉴스토어와 같은 서비스를 이용할 수도 있습니다. 이전부터 뉴스 저작권을 구매할 때는 한국언론진흥재단과 계약을 하여 진행하는 경우가 많은데요. 찾아보니 뉴스토어라는 서비스도 있네요. 저도 뉴스토어는 사용해 본 적이 없는데, 한국언론진흥재단에서 운영하는 것 같습니다.

 

  ▶ 뉴스토어: https://www.newstore.or.kr/

 

뉴스토어

뉴스저작권 합법이용 플랫폼 뉴스토어"앱 이용은 앱스토어, 뉴스 이용은 뉴스토어" 신문 방송 등 국내 86개 주요 언론사의 최신 뉴스저작권을 구매하실 수 있습니다.

www.newstore.or.kr

 

  뉴스토어에 접속한 뒤에 검색어를 입력한 뒤에 [검색]을 진행할 수 있습니다.

 

 

  예를 들어 "딥페이크"를 검색한 뒤에 나오는 뉴스 기사 중에서 원하는 것을 고를 수 있습니다.

 

 

  이후에 다음과 같이 게재기간 및 인쇄부수에 따라서 결제할 수 있습니다. 자세한 정보 및 사용 방법에 대해서는 뉴스토어에 방문하여 확인할 수 있습니다.

 

728x90
반응형

728x90
반응형

  다이나믹 프로그래밍 문제를 공부할 때 좋은 교육용 자료를 해외 사이트에서 찾아서 공유한다.

  ▶ 다이나믹 프로그래밍 문제를 해결할 수 있는 5가지 단계(Steps): https://www.youtube.com/watch?v=aPQY__2H3tE 

 

  ▶ 예시 문제: Longest Increasing Subsequence (LIS)

  LIS는 증가하는 가장 긴 부분 수열을 찾는 문제다. 예를 들어 [3, 1, 8, 2, 5]라는 수열이 있을 때, LIS는 [1, 2, 5]이다.

[1단계] Visualize examples (예제를 시각화하기)

  다이나믹 프로그래밍은 그래프 형태로 표현하면 이해하기 쉬운 경우가 많다.  예를 들어 LIS는 DAG (Directed Acyclic Graph) 그래프 형태로 표현이 가능하다.

[2단계] Find an appropriate subproblem (적절한 부분 문제를 찾기)

  모든 증가하는 부분 수열은 원본 수열(original sequence)의 부분집합이다. 또한 모든 LIS는 시작점(start)과 끝점(end)이 존재한다. 따라서 다음과 같이 부분 문제를 정의하는 것이 좋다.

  LIS[k] = 인덱스 k에서 끝나는 LIS의 길이

  구체적으로 [3, 1, 8, 2, 5]라는 수열이 있을 때 LIS 값은 다음과 같다.

LIS[0] = 1
LIS[1] = 1
LIS[2] = 2
LIS[3] = 2
LIS[4] = 3

[3단계] Find relationships among subproblems (부분 문제 간의 관계 찾기)

  [3, 1, 8, 2, 5]를 생각해보자. 이때 LIS[4]를 해결하기 위해서는 LIS[0] ~ LIS[3]를 이미 계산한 상태여야 한다. 또한 arr[4]보다 arr[2]가 더 크기 때문에, arr[2]를 제외한 인덱스 0, 1, 3만 고려해야 한다.


  따라서 LIS[4] = 1 + max{LIS[0], LIS[1], LIS[3]}으로 정의가 가능하다. 결과적으로 LIS[4] = 3인 것을 알 수 있다.

[4단계] Generalize the relationship (관계를 일반화하기)

  이러한 사실을 토대로 유추하건데, LIS[x] = 1 + max{LIS[k] | k < x, arr[k] < arr[x]}로 정리가 가능한 것을 알 수 있다.

[5단계] Implement by solving subproblems in order (코드로 구현하기)

  결과적으로 원소의 개수가 N개일 때, LIS[0] ~ LIS[N - 1] 중에서 가장 큰 값을 고르면 된다.

 

def lis(arr):
    lis = [1] * len(arr)
    for i in range(1, len(lis)):
        subproblems = [lis[k] for k in range(i) if arr[k] < arr[i]]
        lis[i] = 1 + max(subproblems, default=0)
    return max(lis, default=0)

print(lis([3, 1, 8, 2, 5]))
728x90
반응형

728x90
반응형

  해외 사이트에서 재귀 문제나 다이나믹 프로그래밍 문제를 공부할 때 좋은 교육용 자료를 찾아서 공유한다.

 

  ▶ 어떠한 재귀 문제도 해결할 수 있는 5가지 단계: https://www.youtube.com/watch?v=ngCos392W4w 

 

  ▶ 예시 문제: 피보나치(Fibonacci) 수열

 

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

 

[1단계] What's the simplest possible input? (가장 간단한, 가능한 입력은 무엇인가?)

 

  가장 간단한 형태의 입력을 선택하면 된다. f(0) = 0, f(1) = 1로 볼 수 있다.

 

[2단계] Play around with examples and visualize! (다양한 예제를 그려보며 놀기!)

 

  규칙을 찾기 위해서 다양한 예제를 그려보며 노는 것이 중요하다.

 

[3단계] Relate hard cases to simpler cases (어려운 문제와 쉬운 문제를 연결 짓기)

 

  재귀 문제의 가장 큰 특징은, 하나의 어려운 문제를 해결하기 위해 쉬운 문제를 조합해야 한다는 것이다. 예를 들어 피보나치 수열은 f(x) = f(x - 1) + f(x - 2)가 성립한다. 다시 말해 하나의 어려운 문제 입장에서는 자기보다 쉬운 2개의 문제를 해결하면, 자기 자신을 해결할 수 있다는 것을 의미한다.

 

[4단계] Generalize the pattern (패턴을 일반화하기)

 

  f(x) = f(x - 1) + f(x - 2)가 정당하다는 것을 확인하고, f(x) = f(x - 1) + f(x - 2) 형태로 일반항을 정의한다. 이때 초기 항은 f(0) = 0, f(1) = 1이다.

 

[5단계] Write code by combining recursive patterns with the base case (코드로 옮기기)

 

  이후에 해당 점화식을 다음과 같이 코드로 옮기면 된다.

 

def fibo(x):
    if x == 0 or x == 1:
        return x
    else:
        return fibo(x - 1) + fibo(x - 2)

print(fibo(10))
728x90
반응형