목록분류 전체보기 (159)
할껀하고놀자
1. 30대, 무주택자, 미혼. 나를 정의하는 말이다. 나를 정의하는 세가지 단어 중 하나를 바꾸는 계기가 되어 정리를 해보고자 한다. 나중에 이 글을 내가 다시 보며 그땐 그랬지 하며 웃을 수 있는 날이 오길 바란다. 덧붙여 내집마련에 처음 도전하시는 분들에게 도움이 되었으면 좋겠다. 나는 지난 영끌열풍이 거세게 불던 20~21년에는 집을 포기했었다.. 친구들은 다들 집을 사야한다고 했지만,, 불장에 사면 절때 안된다는 나의 본능(주식으로 많이 잃어본게 도움이 됐던걸까??) 이 지금은 절때 들어가면 안된다고 말하고 있었다. 그냥 묵묵히 청약에 배팅하며 언젠가 내가 살고 있는 지역에서 청약이 된다면 당차게 들어가겠노라고 다짐했다. 하지만 23년 8월의 어느 햇살 좋은 날, 나는 청약을 포기하고 매매를 결..
무역의 3대 기본법 대외무역법, 관세법, 외국환거래법 수출 매매의 목적물인 물품이 국내에서 외국으로 이동, 그에 상응하는 경제적 대가를 취하는 행위를 의미한다. 수입 매매의 목적물인 물품이 외국에서 국내로 이동, 그에 상응하는 경제적 대가를 지급하는 행위를 의미한다. 수출입 공고 대외무역법상 산업통상자원부장관이 수출입 물품에 대한 직접적인 관리를 위해 제한 품목 여부 및 수출입 요령을 알려주는 기본공고를 의미한다. 경제정책 목표 달성을 위한 행정규제를 주로 한다. 네거티브 리스트 제도 수출입금지, 제한 품목만 공고, 기재되지 않은 품목에 대해서는 자유롭게 수출입을 허용한다. 통합 공고 대외무역법 이외의 다른 법령에서 해당 물품의 수출입 요건 및 절차 등을 규정하는 경우, 조정하기위해 산업통상자원부장관이 ..
# 6.4 소풍 문제를 해결하는 (잘못된) 재귀 호출 코드 from sys import stdin import sys sys.stdin = open('1.txt') # 3 # 2 1 # 0 1 # 4 6 # 0 1 1 2 2 3 3 0 0 2 1 3 # 6 10 # 0 1 0 2 1 2 1 3 1 4 2 3 2 4 3 4 3 5 4 5 def countPairings(taken, areFriend, n): finished = True for i in range(n): if not taken[i]: finished = False if finished: return 1 ret = 0 for i in range(n): for j in range(n): if not taken[i] and not taken[j]..
# 6.3 보글 게임판에서 단어를 찾는 재귀 호출 알고리즘 dx = [-1, -1, -1, 1, 1, 1, 0, 0] dy = [-1, 0, 1, -1, 0, 1, -1, 1] # 한글자만 검사하는 방식으로 기저사례를 찾아내었다. def hasWord(y, x, word, a): # 기저사례1 : 범위 넘어가지 않기 if (x = len(a) or y = len(a)):return False # 기저사례2 : 첫글자가 다를 경우 if (a[y][x] != word[0]): return False # 위 거름망 통과 후에 길이가 1이라면 첫글자도 같고, 범위도 넘어가지 않는 경우이므로 # 참 반환 if (len(word) == 1): return True for dir ..
# 6.2 n개의 원소 중 m개를 고르는 모든 조합을 찾는 알고리즘 def pick(n, list, toPick): if toPick == 0: print(list) return smallest = 0 if len(list) == 0 else list[-1] + 1 for next in range(smallest, n): list.append(next) pick(n, list, toPick - 1) list.pop() # 7까지의 숫자에서 4개의 숫자를 뽑고싶다. pick(7, [], 4)
# 삽입 정렬 list = [20,12,10,15,2] for i in range(len(list)): j = i while(j>0 and list[j-1]>list[j]): list[j-1],list[j] = list[j],list[j-1] j-=1 print(list) 속도 ( N~N^2) 정렬되어있다면 while문을 탐색하지 않기 때문에 for문 한번만 돌게 된다. 역순 정렬되어있다면 n^2번 탐색한다.
list = [20,12,10,15,2] for i in range(len(list)): for j in range(len(list)-1-i): if list[j]>list[j+1]: list[j],list[j+1] = list[j+1],list[j] print(list) 정렬 방법론. 1. N번째 위치와 N+1번째 위치의 값을 비교해서, N+1번째 위치의 값이 더 클 경우 N번째와 N+1번째의 값을 교환함. 특징. 1. 계속 비교하므로 리스트 크기가 크면 불리하다. 2. 정렬이 거의 된 데이터일 경우 더 유리하다.(교환이 적게 일어나므로) 3. 데이터가 역순인경우, 즉 최악의경우에 시간이 엄청 느리다.
list = [20,12,10,15,2] for i in range(len(list)): for j in range(i+1,len(list)): if list[i]>list[j]: list[i],list[j] = list[j],list[i] print(list) 정렬 방법론. 1. 최솟값을 찾아서 0번째 위치와 바꿈. 2. 0번째 위치를 제외한 최솟값을 찾아서 1번째 위치와 바꿈. 3. N번째까지의 위치를 제외한 최솟값을 찾아서 N번째와 바꿈. 4. 끝까지 가면 성공. 특징. 1. 정렬되있는 순서로 들어오던 아니던 실행시간이 비슷하다. 항상 비교하는양이 동일하기 때문. 2. 추가적인 기억장소를 요구하지 않는다.
상어 배열에 넣기 낚시왕 한칸씩 이동 임시 배열 하나 생성(새로운 상어가 놓일 위치 지정용) 가장 가까운 열에 있는 상어 잡기 상어 이동 for문 돌리면서 방향 이동해주기 import sys from sys import stdin # sys.stdin = open('input.txt') input = stdin.readline r, c, m = map(int, input().split()) a = [[[0, 0, 0] for _ in range(c)] for _ in range(r)] for _ in range(m): x, y, s, d, z = map(int, input().split()) a[x-1][y-1] = [s, d-1, z] dx, dy, ans = (-1, 1, 0, 0), (0, 0, 1..
궁수 3명 지정해준다 n번만큼 돌면서 3명의 아쳐들과 비교한다 거리를 비교 선택받은 적은 킬한다 한칸씩 밑으로 내린다 정답이 최대인 걸 구한다. 수도코드 짜는게 솔직히 제일 중요한걸 느끼는데 하루남았네? import sys,copy from heapq import heappush,heappop from sys import stdin # sys.stdin = open('input.txt') input = stdin.readline n,m,d = map(int,input().split()) a = [list(map(int,input().split())) for _ in range(n)] archer = [0]*3 def kill(b): cnt = 0 for _ in range(n): v =[] for idx..