프로그래머스 문제풀기

➡️삼총사

def solution(number):
    answer = 0
    l = len(number)
    for i in range(l-2):
        for j in range(i+1, l-1):
            for k in range(j+1, l):
                if number[i]+number[j]+number[k] == 0:
                    answer += 1           
    return answer
    
def solution (number) :
    from itertools import combinations
    cnt = 0
    for i in combinations(number,3) :
        if sum(i) == 0 :
            cnt += 1
    return cnt

저번에 풀었던 문제랑 거의 똑같음

네트워크

HTTPS 동작원리

https://bravenamme.github.io/2019/07/04/https-1/
클라이언트가 서버에 최초 접속시 서버가 CA로부터 SSL인증서를 받아 브라우저에게 신뢰성있는 서버임을 증명하고

파이썬

  1. 파이썬에서 switch... case 구문을 구현해 보았나요? 어떻게 하셨나요?
    구현해보진 않았지만 딕셔너리나 if-else구문을 통해 구현할 수 있다고 알고 있습니다.
  1. 컴파일 언어와 인터프리터 언어의 차이점에 대해 설명하세요.
    컴파일 언어와 인터프리터 언어는 빌드 과정의 유무에 차이가 있습니다. 컴파일 언어는 빌드과정이 있어 시간이 오래걸리지만 빌드과정이 있기때문에 런타임 상황에서는 더 속도가 더 빠르고 인터프리터 언어는 빌드과정 없이 바로 한줄씩 실행할 수 있어 코드를 수정하고 확인하기 좋지만 런타임 상황에서는 속도가 느립니다.

    +컴파일 언어는 소스코드를 기계어로 변환 후에 기계어로 코드를 실행합니다. 기계어로 변환하는 과정이 오래걸리지만(빌드시간) 런타임 상황에서는 이미 기계어로 변환되어있기때문에 빠르게 실행할 수 있습니다. C,C++
    인터프리터 언어는 인터프리터가 한줄씩 읽고 실행하기때문에 빌드 시간이 없지만 런타임 상황에서는 컴파일언어보다 속도가 느립니다. R, Python, Ruby

  2. 데코레이터란?
    어떤 함수를 수정하지 않으면서 기능을 추가하고자할 때 사용한다. 함수를 인자로 받아서 기능이 추가된 새로운 함수객체로 만들어준다.
    사용하고자 하는 함수 위에 @데코레이터함수를 적어주면 된다.

    +여러 개의 함수에 사용할 수 있다.
    +같은 기능을 할 수 있는 다른 코드들을 구현하는 것보다 좀 더 깔끔한 코드를 구현할 수 있다.

  3. pass와 continue, break의 차이는 무엇인가요?
    pass는 실행할 코드가 없음을 의미해서 코드가 필요한데 어떤 작업도 하지 않길 원할 때 사용하고 continue는 이하의 구문은 실행하지 않고 다시 루프를 돌 수 있도록 해주고 break는 해당 코드가 속한 구문의 가장 가까운 반복문을 탈출합니다.

profile
looooggi

0개의 댓글