# 완전탐색 풀이
import itertools

data = list(map(int, input().split()))
data.sort()
set(data)

c=itertools.combinations(data,1)

mylist=[]
for i in range(1,6):
    c=itertools.combinations(data,i)
    temp=list(c)
    for j in range(0,len(temp)):
        mylist.append(sum(temp[j]))

mylist =list(set(mylist))
mylist.sort()

num=1
idx=0
while True:
    if mylist[idx] is not num:
        break
    num+=1
    idx+=1
    
#greedy 풀이
data = list(map(int, input().split()))
data.sort()

target = 1
for i in range(len(data)):
    print(data[i]) 

    if target<data[i]:
        break
    target +=data[i]

 

data = list(map(int, input().split()))

def innerloop(s):

    val=data[s]
    while (s<len(data)):
        if data[s] is not val:
            break;
        s+=1
    e=s-1
    return e
    
# make all '0'
cnt=0
idx=0
while(idx<len(data)):
    if data[idx]==1:
        print(idx, innerloop(idx))
        idx=innerloop(idx)
        cnt+=1
    idx+=1

# make all '1'
while(idx<len(data)):
    if data[idx]==0:
        print(idx, innerloop(idx))
        idx=innerloop(idx)
        cnt+=1
    idx+=1
data = list(map(int, input().split()))

res =data[0]

for idx in range(1,len(data)):
    if data[idx]==0 or data[idx] ==1 or res ==0:
        res+=data[idx]
    else:
        res*=data[idx]
        
print(res)

 

n = int(input())

data = list(map(int, input().split()))

data.sort()

cnt =0 
grp =0

for item in data:
    cnt+=1
    if cnt==item:
        grp+=1
        cnt=0

본 포스팅에서는 python 언어로 두 개의 dictionary 자료형을 병합(merge) 하는 방법에 대해 알아보겠습니다.

 

페이스북 영상형 , 도달형 , 뉴스픽 무작정 따라하기 [BEST] 제휴 마케팅에 유용한 효율적인 글쓰기(카피라이팅) 방법을 알려드립니다 페이스북 영상형 , 도달형 , 뉴스픽 무작정 따라하기 [BEST] 제휴 마케팅에 유용한 효율적인 글쓰기(카피라이팅) 방법을 알려드립니다


1. update( ) 사용하기
각각 서로다른 dict 자료형 변수(A, B)가 있을 때,

>>> A = { 'x' : 1 , 'y' : 2 }

>>> B = { 'q' : 100,  'w' : 200 }

dict자료형 변수(A)의 내부 함수인 update( ) 를 call 하면서 인자로 병합(merge)하고자 하는 dict 변수를 넘겨줍니다.

>>> A.update(B)    

update함수를 call한 dict 변수(A)에 B 인자들이 병합된것을 확인 할 수 있습니다. 

>>> A

{ 'x': 1, 'y': 2, 'q': 100, 'w': 200 }

이때, B 변수의 인자들은 그대로 유지되는 것을 확인할 수 있습니다.

>>> B

{'q': 100, 'w': 200}

새로운 변수 C에 결과가 반환 되지는 않습니다.

>>>C = A.update(B)

'None'

※ 만약, A, B에 동일한 key가 존재할 경우 B의 value값으로 교체됩니다.

>>> A = { 'x' : 1 , 'y' : 2 }

>>> B = { 'q' : 100,  'w' : 200, 'x': 1000 }

>>> A.update(B)    

>>> A

{'x': 1000, 'y': 2, 'q': 100, 'w': 200}

 

페이스북 영상형 , 도달형 , 뉴스픽 무작정 따라하기 [BEST] 제휴 마케팅에 유용한 효율적인 글쓰기(카피라이팅) 방법을 알려드립니다 페이스북 영상형 , 도달형 , 뉴스픽 무작정 따라하기 [BEST] 제휴 마케팅에 유용한 효율적인 글쓰기(카피라이팅) 방법을 알려드립니다


2. 기존 변수들은 그대로 두고 새로운 변수에 병합(merge)하기
A, B 요소들은 그대로 두고 새로운 변수에 병합된 결과를 얻기 위해서는 copy를 이용하여 구현할 수 있습니다.

def merge_dicts( a, b):

     c = a.copy()  # a 변수를 c에 copy 한 후,

     c.update(b)   # c를 update하여 반환

     return c     

 

C = merge_dicts( A, B)

>>> A

{ 'x': 1, 'y': 2 }

>>> B

{'q': 100, 'w': 200}

>>> C

{ 'x': 1, 'y': 2, 'q': 100, 'w': 200 }

3. items() 함수 이용하기
A인자들과  B인자들을 논리연산자 | ('or')를 이용하여 병합하고 dict 변수로 형변환(casting)합니다.

>>> C = dict(A.items( ) | B.items( ) )   

>>> { 'x': 1,  'y': 2, 'q': 100, 'w': 200,}

 

페이스북 영상형 , 도달형 , 뉴스픽 무작정 따라하기 [BEST] 제휴 마케팅에 유용한 효율적인 글쓰기(카피라이팅) 방법을 알려드립니다 페이스북 영상형 , 도달형 , 뉴스픽 무작정 따라하기 [BEST] 제휴 마케팅에 유용한 효율적인 글쓰기(카피라이팅) 방법을 알려드립니다

이상으로 포스팅을 마치겠습니다:)

본 포스팅에서는 파이썬으로 특정 코드의 실행시간을 제어하기 위한 delay함수 사용방법에 대해 알아보겠습니다.

 

먼저 time package를 install 해야합니다.

>>>pip install time

 

time package는 시간 관련 함수를 제공하는 패키지 (it provides various time-related functions) 입니다.

 

time delay를 주기 위해서는 time 패키지 내의 time.sleep 함수를 사용하면 됩니다.

 

time.sleep 함수의 용법은 다음과 같습니다.

 

Usage: time.sleep(secs)

-인자로 주어지는 시간 단위(초) 동안 실행을 중단합니다.

  Suspend execution of the calling thread for the given number of seconds.

 

- 좀 더 정확한 타이밍 제어를 위한다면 인자를 소수점 형태로도 줄 수 있습니다.

  The argument may be a floating point number to indicate a more precise sleep time.

 

- sleep() 함수 이후 실행되는 어떤 시그널의 catching routine으로 인해, 실제로 중단하는 시간은 요청 시간보다 짧을 수 있습니다.

  The actual suspension time may be less than that requested because any caught signal will terminate the sleep() following execution of that signal’s catching routine.

 

- 시스템 상의 다른 테스크로 인해 실제로 중단하는 시간이 요청시간 보다 길 수 도 있습니다. 

  Also, the suspension time may be longer than requested by an arbitrary amount because of the scheduling of other activity in the system.

 


print 코드를 특정 시점에 실행하는 예제를 통해 어떻게 사용되는지 알아보겠습니다.

 

>>> import time
>>> print('hello', time.time( ) )   

hello , 0.001 sec                       # 'hello' print 되는 시각 확인

>>> time.sleep(5)                    # 5초 대기
>>> print('world', time.time( ) ) 

world, 5.001 sec                      #  'world' print되는 시각 확인 (5초 간격 확인)

 

*time.time()함수는 실행 속도를 측정하기 위한 time stamp 함수입니다.

+ Recent posts