목록2024/06 (18)
imhamburger 님의 블로그
함수를 사용하면 반복적인 코드의 양을 줄여 유지보수성을 높여준다. 예시def 함수이름(a, b, c):"""모든 값을 더한다. #함수에 대한 설명"""test = a + b + creturn test lambda 표현식은 함수명을 지정하지 않아도 함수를 만들 수 있다.lambda[parameters]: expression 예시#lambda[parameters]: expressionlambda x: x * 2#(lambda x: x * 2)(10)#출력: 20#아래 함수식과 같다.def test(x):return x * 2#print(test(10))#출력: 20 map을 사용하여 lambda 함수 응용하기map은 리스트 혹은 튜플 같은 여러개의 자료를 이용해 각 요소에 함수를 적용해준다.a = list(..
리스트 컴프리핸션은 리스트를 만들기 위해 사용하는 방법을 말한다.list1 = [expression for 변수 in iterable] 예시#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]list1 = [i for i in range(10)]#[3, 6, 9]list2 = [i for i in range(10) if i % 3 == 0]#조건없이 간단하게 리스트를 만들수도 있다.#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]list1 = list(range(10)) 화면출력#내장함수 활용print()#sep가 기본값으로 " " 공백을 가지고 있어서 값 사이에 ','을 추가하고싶으면 저렇게 표현하면 된다.print(a, b, c, sep=", ")#end 값을 초기화하여 줄바꿈이 되지 않는..
세트(Set)세트는 다음과 같은 메소드를 가진다.add요소 추가remove요소 삭제discard요소 삭제pop요소를 가져오면서 삭제 그럼 remove와 discard의 차이는 뭐지?remove는 없는 요소를 지우라고 명령할 시 Error를 발생시키지만, discard는 없는 요소여도 에러가 발생하지 않는다. (흠, 그러면 어떤 경우에 쓰일까?)set1 = set()set1.add(2)set1.remove(2)set1.discard(2) #정상작동 세트는 index가 없기 때문에 pop을 쓰면 어떤 랜덤한 요소가 삭제되니 유의하자! Set의 집합 연산#합집합set.union(a, b) #'|' 엔터키 위에 있는 요 막대기로 써도 된다. set(a) | set(b) #교집합set.intersaction(a..
리스트는 변할 수 있는(mutable) 속성이며, 튜플은 (immutable) 변할 수 없는 속성을 가지고 있다.따라서 리스트는 넣고 빼고 삭제하고 추가하고 다 가능하지만, 튜플은 불가능하다. list1 = [1, 2, 3, 4, 5]list1.pop()5[1, 2, 3, 4] 리스트에서 쓸 수 있는 함수 중에 pop이 신기해서 조금 끄적여본다.pop은 맨 뒤의 요소를 가져오면서 그와 동시에 리스트에서 삭제시킨다.다른 append, extend 등 함수와는 다르게, 요소를 가져오면서 리스트 안에서도 삭제시키는 2가지 일을 동시에 한다.그게 조금 신기한 부분이다. #()소괄호가 없어도 튜플이다.tuple1 = 1, 2, 3, 4, 5 tuple은 원래 ()소괄호를 쓰는 것이 정석?이지만, 굳이 쓰지않아도 ..
만약 작은 따옴표를 텍스트 자체로 쓰고 싶다면?백슬래시 '\' 를 작은 따옴표 앞에 붙여서 써야한다. 예시#I'm hamburger를 출력하고 싶다.text = 'I\'m hamburger'print(text) 문자열 리터럴 안에 \n이라는 것은 줄바꿈을 의미한다. 예시#Hello#I'm hamburger#라는 문장을 두 줄로 보여주고 싶다.text = 'Hello\nI\'m hamburger'print(text) 경우에 따라 \n 을 그대로 출력하고 싶은 경우엔?1. raw str 사용 (문장 맨 앞에 r을 추가한다.)2. \\ 역슬래시를 두번써서 \ 문자 그대로 출력되게끔 한다. 예시text1 = r'c:\name'text2 = 'c:\\name' 삼중 따옴표를 사용하면,예시text = """동해물과..
C'est drôle, je ne sais pourquoi 쎄 드홀, 쥬 느 쎄 뿌-흨 꾸와참 재미있어, 무슨 이유인지 모르겠지만Ça me fait toujours penser à toi싸 므 페('f'발음) 뚜쥬-흐 뻥쎄 아 뚜와항상 네 생각이 나네Pour plein d'aut' gens, c'est la magie푸후('후' 약하게) 플랑 돋ㅌ' 졍, 쎄 라 마지(G)다른 많은 사람들에게 그건 마법이고L'amour, les baguettes, Paris라무-흐('흐'약하게), 레 바겓-ㄸ('ㄸ'약하게), 빠히사랑이고 바게트겠지, 파리Toujours au même endroit뚜쥬-흐 오 멤 멍드화 ('endroit' 엉드화 라고 발음하지만 앞에 même 뒤에와서 연음으로 '멍드화'로 발음)항상..
탐욕법(Greedy) 문제를 더 풀어보자.백준 동전 0 이 가장 대표적인 문제라길래 풀어보았다. 문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제입력10 4200151050100500100050001000050000 예제출..
탐욕법(Greedy)은 '탐욕'이라는 말 그대로 현 상황에서 당장 좋은 것만 고르는 방법이다.사실 이론적으로는 이해하기 쉽지만, 막상 문제를 풀라하면 모르겠다. 프로그래머스 체육복 문제를 풀어보자. 문제는 다음과 같다. 문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도..