728x90
반응형

python 151

[Python] set() 함수 : 집합

set() 함수 set()은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. set() 키워드를 그대로 사용하거나 중괄호({ })를 사용하여 표현 가능하다. 중괄호 사용 시 중괄호 자체만으로는 dict를 선언하는 것이므로 주의해야 한다. set()은 리스트, 문자열 모두 입력해 만들 수 있다. 중복을 허용하지 않고 순서가 없다. 순서가 없어 인덱싱으로 값을 얻을 수 없다. 따라서 인덱싱에 접근하고자 할 때는 리스트나 튜플로 변환한 후 접근해야 한다. 특히 교집합, 합집합, 차집합을 구할 때 유용하게 사용할 수 있다. s1 = set([1,2,3]) s1 # {1, 2, 3} s2 = set("Hello") s2 # {'e', 'H', 'l', 'o'} 교집합, 합집합, 차집합 1. 교집합 "&"..

Python 2023.02.08

[Algorithm] 프로그래머스 문자열 나누기 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 ..

[Algorithm] 백준 10974번 모든 순열 (Python)

https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 첫째 줄부터 N! 개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. 예제 입력 1 3 예제 출력 1 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 풀이 설명 python에 내장된 itertools 패키지의 permutations 모듈을 사용하면 쉽게 풀 수 있다. 사용법 : https://techblogs...

Algorithm/Baekjoon 2023.02.08

[Python] sort(), sorted()를 이용한 리스트 정렬

sort() 함수 list.sort() 메서드는 리스트 객체 자체를 정렬해주는 함수이다. 리스트에서만 사용 가능하며 매개변수로 reverse를 받는다. 기본적으로 리스트를 오름차순으로 정렬해준다. 매개변수인 reverse는 옵션으로 이의 default 값은 False이다. 오름차순으로 정렬하고 싶은 경우, list.sort()와 같이 매개변수를 쓰지 않거나 list.sort(reverse = False)와 같이 쓴다. 내림차순으로 정렬하고 싶은 경우, list.sort(reverse = True)와 같이 쓴다. 리스트 요소를 길이 순으로 정렬하고 싶은 경우, 매개변수로 key를 받는다. key=len num = [3, 2, 1, 5, 4] num.sort() # 오름차순 정렬 print(num) # [1..

Python 2023.02.07

[Algorithm] 백준 2309번 일곱 난쟁이 (Python)

https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 ..

Algorithm/Baekjoon 2023.02.07

[Algorithm] 프로그래머스 둘만의 암호 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd",..

[Algorithm] 백준 1978번 소수 찾기 (Python)

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100 이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 예제 입력 1 4 1 3 5 7 예제 출력 1 3 풀이 설명 소수 약수가 1과 자기 자신 밖에 없는 수 N이 소수가 되려면, 2보다 크거나 같고, N-1보다 작거나 같은 자연수로 나누어 떨어지면 안 된다...

Algorithm/Baekjoon 2023.02.06

[Python] 순열(permutations)과 조합(combinations)

순열(permutations) 서로 다른 n개에서 r개를 선택할 때, 순서를 고려하여 중복 없이 뽑을 경우 nPr = n! / (n -r)! 만일 A, B, C에서 순서를 고려하여 중복 없이 2개의 쌍을 구한다면 AB/AC/BA/BC/CA/CB 총 6가지 사용법 permutations(객체, r) r = 반복 가능한 객체(list, tuple, 문자열) 안에서 선택할 개수 조건 from itertools import permutations 선언 return 객체 경우의 수에 대한 쌍을 tuple 형식으로 반환 from itertools import permutations arr = ['A', 'B', 'C'] nPr = permutations(arr, 2) print(list(nPr)) # [('A', ..

Python 2023.02.06

[Algorithm] 백준 1934번 최소공배수 (Python)

https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다. 두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T..

Algorithm/Baekjoon 2023.02.03

[Python] 함수 (function)

1. 함수 사용의 장점 중복 코드를 없앨 수 있고 가독성이 높아진다. 프로그램의 구조와 흐름을 한 눈에 파악할 수 있고 오류 발생 지점을 쉽게 알 수 있다. 2. 함수의 구조 def 함수명(매개변수): ... 함수명 뒤 괄호 안에 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다. 변수 작성 시 단순히 a, b와 같이 이름만 쓰지 않고 a : int, b : int와 같이 자료형을 지정해주면 예상하지 못한 type error을 방지할 수 있다. def add(a: int, b: int): return a + b 3. 매개변수와 인수 매개변수 - 함수에 전달된 값을 저장하는 변수 인수 - 함수에 전달하는 값 def add(a, b): # a, b는 매개변수 return a+b print(add(3..

Python 2023.02.03
728x90
반응형