전체 글(56)
-
프로그래머스_타겟 넘버_python
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr import itertools def solution(numbers, target): answer = 0 if sum(numbers) == target: return 1 tmp = (sum(numbers)-target)//2 for i in range(1,len(numbers)): a = itertools.c..
2021.08.13 -
프로그래머스_체육복_python
https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들..
2021.08.11 -
백준_균형잡힌 세상_python
https://www.acmicpc.net/problem/4949 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. 모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 둘 이상의 괄호와 짝지어지지 않는다. 짝을 이루는 두 괄호가 있을 때, 그 사이에 있는 문자열도 균형이 잡혀야 한다. 정민이를 도와 문자열이 주어졌을 때 균형잡힌 문자열인지 아닌지를 판단해보자. k = dict() k['('] = ')' ..
2021.08.10 -
python) counter
https://ek-koh.github.io/python/counter/ 데이터 카운팅할때 사용. from collections import Counter str = 'aaabbc' Counter(str) // Counter({'a':3, 'b':2, 'c':1}) arr = [1,2,4,4] Counter(arr) // Counter({1:1, 2:1, 4:2}) clear() : 카운터 객체에서 모든 key-value 쌍을 제거 copy() : 카운터 객체의 복사본을 반환 elements() : 카운터 숫자만큼 요소 반환 리스트를 가지고 카운터 객체를 만들었다면, 다시 리스트로 돌린다고 생각하면 쉽다. 물론 순서는 바뀐다. list(c2.elements())와 같이 사용. get() : 인자로 key..
2021.08.08 -
python) bisect
정렬된 배열에서 특정한 원소를 찾아야 할 때 효과적. 정렬된 배열에서 특정범위에 속하는 원소의 갯수 from bisect import bisect_left, bisect_right bisect_left(a,x) // 정렬 순서 유지하면서 리스트 a에 데이터 x를 삽입할 가장 왼쪽 인덱스 찾음 bisect_right(a,x) // 정렬 순서 유지하면서 리스트 a에 데이터 x를 삽입할 가장 오른쪽 인덱스 찾음
2021.08.08 -
python) list, 튜플, 딕셔너리, set
list a = list() or a = [] a = [1,2] a.append(1) //하나삽입 a.sort() a.reverse() a.insert(삽입위치인덱스,삽입할값) a.count(특정값) //특정한 값을 가지는 데이터개수 a.remove() a.remove_all() //특정한 값을 가지는 데이터 모두 삭제 튜플 -한 번 선언된 값을 변경할 수 없다.(원소의 대입 불가능) -소괄호를 사용한다. a = (1,2,3,4) 딕셔너리 -키,값의 쌍을 데이터로 가짐. a = dict() a['사과'] = 'apple' print(a) // {'사과':'apple'} a.keys() //키만 반환 a.values() //값만 반환 set(집합자료형) -중복허용x -순서x a = set([1,2,3]) ..
2021.08.08