본문 바로가기

전체 글

(147)
[연습]코딩테스트-k번째수 코딩테스트 연습 문제 programmers.co.kr k번째수 문제 def solution(array, commands): answer = [] for x in commands: t1 = array[x[0]-1:x[1]] t1.sort() answer+=[t1[x[2]-1]] return answer 그냥 슬라이싱 하는 문제였음. 다른사람 풀이보니 lambda써서 한줄코딩하더라, def solution(array, commands): return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
python range, enumerate 차이점 range, enumerate 차이점 먼저 range경우 예시를 보면, tmp = [1,2,3,4,5] for i in range(len(tmp)): print (tmp[i]) >>> 1 2 3 4 5 와 같이 나오게된다. 다음으로, enumerate의 예시를 보면, tmp = [1,2,3,4,5] for i in enumerate(tmp): print (i) >>>(0, 1) (1, 2) (2, 3) (3, 4) (4, 5) 처럼 나온다. ! 이때 반환 타입은 보면 알다시피 tuple 형태 즉, range와 enumerate의 차이점은 range경우에는 index로 접근해야하며, 값과 index를 반환 하려면 코드가 더 추가되는 번거로움이 존재한다. enumerate는 range의 번거로움을 간결하게 ..
[연습]코딩테스트-모의고사 코딩테스트 연습 문제 programmers.co.kr 문제 많이 맞춘사람 맞추기 ''' 1번 수포자는 1,2,3,4,5 반복 2번 수포자는 (2,1) (2,3) (2,4) (2,5) 반복 3번 수포자는 (3,3) (1,1) (2,2) (4,4) (5,5) 반복 ''' def makeAnswer(answer): answer1 = [] answer2 = [] answer3 = [] pattern1 = [1,2,3,4,5] pattern2 = [2,1,2,3,2,4,2,5] pattern3 = [3,3,1,1,2,2,4,4,5,5] idx1 =0 idx2 = 0 idx3 =0 for a in range(len(answer)): if idx1 > len(pattern1..
[연습]코딩테스트- 완주하지 못한 선수 코딩 테스트 연습문제 programmers.co.kr 완주하지 못한 선수를 출력하시오. 문제 # 참가자, 완주자 리스트를 제공한다 # 완주하지 못한 사람을 출력하자. # 동명이인이 있을 수 도 있다. def solution(participant, completion): if 1 > len(participant) or len(participant) > 100000: return "" if len(participant) =2 and participant.count(x) != completion.count(x): ..
[연습]KaKaO 2020 Coding Test 1번 문자열 압축 코딩테스트 공부 목적으로 풀어본 문제이다. Programmers.co.kr에서 문제를 참고하였으며, 작성된 코드는 틀릴 수도 있음. 다만 틀린대로 나두고 틀린부분은 참고링크를 넣어놓았다. Python3 # kakao 2020 coding Test No.1 # 문자열 압축 문제 # https://programmers.co.kr/learn/courses/30/lessons/60057?language=python3#_=_ #s = "abcabcabcabcdededededede" cnt =1 tmp_list2 =[] while (cnt != len(s)): tmp_list = [] ''' 주어진 문자열을 1개씩, 2개씩, 3개씩 ... 나누어 리스트로 저장한다 ''' for i in range(0,len(s),..
초보자를 위한 AVISPA 간단 정리 AVISPA란 프로토콜의 안전성을 검증하는데 쓰이는 HLPSL언어이다. AVISPA Avispa는 baisc role, session role, environment role이 존재한다. environment role은 다른 프로그래밍 언어의 main 함수를 의미한다. session role은 environment에서 basic role을 불러오는데 쓰이는 함수이다. basic role은 실제 기능을 수행하는 함수라 보면된다. AVISPA을 프로그래밍 하면서 주의할점 ! avispa는 컴파일시 코드를 읽는 순서가 존재한다. top down 형식이 아닌, down-top 형태로 읽는다. 즉, environment role이 맨아래, session role, basic role 순으로 존재해야한다. 주의! ..
SBCS, MBCS, WBCS SBCS, MBCS, WBCS SBCS ( Single Byte Character Set ) 문자를 표현하는데 있어서 1바이트만 사용하는 방식. 대표적으로 아스키코드가 해당된다. MBCS( Multi Byte Character Set ) 문자를 표현하는데 있어서 다양한 바이트 수를 이용한다. (어떤 문자는 1바이트, 어떤문자는 2바이트) ex) 한글은 2바이트 영어는 1바이트 처리. MBCS는 SBCS를 포함하고있다. 유니코드는 MBCS에 포함되지 않는다. WBCS( Wide Byte Character Set ) 유니코드에 해당 모든 문자를 2바이트로 처리한다. char(SBCS) => wchar_t(WBCS) wchar_t는 typedef unsigned short wchar_t이다. "ABC" => ..
python 리스트 안에 딕셔너리 중복제거 하는 방법 여러 방법중, json 모듈을 사용해서 할수있다! import json set_of_jsons = {json.dumps(d, sort_keys=True) for d in X} X = [json.loads(t) for t in set_of_jsons] X는 [{}, {}] 형태로 존재하는, 내가 중복을 제거 하고자하는 변수 명 List 안에 List를 하나의 List로 합치는법은, sum(변수, [])