Python 70

[Python] 14. set(집합)

set(집합) 자료형- set()키워드를 사용하거나 {}(중괄호) 내부에 여러종류의 자료를 넣어 선언- 중복되지 않는 요소들을 저장할 수 있는 자료형- 중복된 요소를 허용하지 않고, 순서가 없는 자료구조- 셋내의 요소를 추가, 삭제, 수정 가능- 집합연산에 용이  1. 집합 자료형은 중복된 요소를 허용하지 않고, 순서가 없는 자료 구조이다.ex_set = set({1,5,5,6,4,2,3})print(ex_set) #{1, 2, 3, 4, 5, 6}ex_set = set({1,5,5,6,4,2,3})print(ex_set[1]) TypeError: 'set' object is not subscriptable - 순서가 없기 때문에 리스트나 튜플과 같이 인덱싱이 불가능하다. - set의 자료가 문자열인..

Python/Python 2024.09.08

[Python] 13. reverse()메소드와 reversed()함수

reverse() 메소드reverse()는 메소드로 특정 자료(리스트)에 대해 요소를 역순으로 뒤집어 주는 기능을 수행메소드는 반환값이 없기 때문에 기존 객체(리스트)의 요소를 역순으로 뒤집어 저장ex_list = ['A','B','C','D','E']ex_list.reverse() #['E', 'D', 'C', 'B', 'A']- 기존 ex_list의 값을 역순으로 저장  reversed() 함수reversed()는 내장함수로 iterable한 모든 자료형(문자열, 리스트, 딕셔너리 등)에 요소를 역순으로 뒤집어 주는 기능을 수행reversed() 함수는 iterable객체의 모든 요소에 대해 function 함수를 적용한 결과를 새로운 iterator로 반환반환된 이터레이터는 리스트 또는 iter..

Python/Python 2024.09.08

[Python] 12. sort()메소드와 sorted()함수

sort() 메소드sort()는 메소드로 특정 자료(리스트)에 대해 정렬 기능을 수행sort(): 오름차순 정렬 / sort(reverse = True): 내림차순 정렬메소드는 반환값이 없기 때문에 기존 객체(리스트)를 정렬하여 기존객체에 저장ex_list = ['B','D','A','E','C']ex_list.sort() #['A', 'B', 'C', 'D', 'E']ex_list.sort(reverse=True) #['E', 'D', 'C', 'B', 'A']- 기존 ex_list의 값이 정렬됨  sorted() 함수sorted()는 함수로 iterable한 모든 자료형(문자열, 리스트, 딕셔너리 등)에 정렬 기능을 수행sorted(): 오름차순 정렬 / sor..

Python/Python 2024.09.08

[Python] 11. 파이썬의 내장함수 map()

map() 함수주어진 함수를 반복 가능한(iterable) 객체의 모든 요소에 각각 적용하여 그 결과를 새로운 이터레이터로 반환하는 함수map(function, iterable)function : iterable(반복가능한)객체의 각 요소에 적용할 함수iterable : 함수를 적용할 iterable(반복가능한)객체(리스트,튜플,문자열,딕셔너리등) - map() 함수는 1차원의 iterable(반복가능한) 객체에 적용가능- 주로 리스트의 모든 원소에 대해 일괄적으로 연산을 적용하거나 변환할 때 사용- map() 함수는 iterable객체의 모든 요소에 대해 function 함수를 적용한 결과를 새로운 iterator로 반환- 일반적으로 map객체(주소)를 반환하기 때문에 list(),tuple()등으로 ..

Python/Python 2024.09.08

[Python] 10. 함수(function)

함수란?- 특정한 기능을 수행하기 위해 사전에 만들어 놓은 프로그래밍 구문을 묶어 놓은 것 함수의 종류내장함수) 별도의 라이브러리를 설치하지 않고 사용할 수 있는 함수외장함수) 별도의 라이브러리를 설치하고 사용할 수 있는 함수사용자 정의 함수) 사전에 정의된 내장함수 이외에 사용자가 임의로 원하는 기능을 만들어서 사용할 수 있는 함수 내장함수별도의 라이브러리를 설치하지 않고 사용할 수 있는 함수ex. print(), sum(), max(), input(), int() 등  외장함수별도의 라이브러리를 설치하고 사용할 수 있는 함수ex. import random - 난수(규칙이 없는 임의의 수)를 발생시키는 모듈  사용자 정의 함수사전에 정의된 내장함수 이외에 사용자가 임의로 원하는 기능을 만들어서 사용할 ..

Python/Python 2024.09.08

백준[10828.스택] | Python

✏️ 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net ✏️ 풀이방법 1. 입력하는 값이 많기 때문에 input()이 아닌 sys.stdin.readline()을 통해 입력을 받는다. 2. if-elif문을 사용하여 FILO(First In Last Out)으로 작성한다. 📌 코드 import sys n = int(sys.stdin.readline()) stack = [] for i in range(n): s = sys.s..

Python/online judge 2024.03.11

백준 [11728.배열 합치기] | Python

✏️ 문제 https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net ✏️ 풀이방법 1. 배열 A,B를 하나의 리스트에 append가 아닌 extend로 담는다. 📌 코드 n,m = map(int,input().split()) sumlist = [] for i in range(2): sumlist.extend(list(map(int,input().split()))) sumlist.sort() print(*sumlist)..

Python/online judge 2024.03.08

백준 [7785.회사에 있는 사람] | Python

✏️ 문제 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net ✏️ 풀이방법 1. 집합(log) 안에 없는 이름이면 새로 추가하고, 존재하는 이름이면 해당 이름을 삭제 📌 코드 n = int(input()) log = set({}) cnt = 0 while True: i = input().split()[0] if i not in log: log.add(i) else: log.remove(i) cnt +=1 i..

Python/online judge 2024.03.07

백준 [9093.단어 뒤집기] | Python

✏️ 문제 https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net ✏️ 풀이방법 1. sentence에 리스트로 각 문자열을 담는다. 2. 리스트의 원소 하나씩 거꾸로 출력한다. 📌 코드.1 -문자열 슬라이싱을 활용한 풀이 t = int(input()) sentence = [list(map(str,input().split())) for _ in range(t)] for i in range(t): resentence = [] for j in ra..

Python/online judge 2024.02.16

백준 [10809.알파벳 찾기] | Python

✏️ 문제https://www.acmicpc.net/problem/10809 ✏️ 풀이방법1. 백준 10808 알파벳개수에서 변형된 문제로 풀이는 유사하다. 다만 개수가 아닌 위치 인덱스 값을 출력한다.2. baekj'oo'n과 같이 중복된 경우를 유의해야한다.3. 중복을 제거하려고 set과 dict.fromkeys를 활용했지만 글자수의 길이 자체가 달라져 위치가 달라지는 문제가 발생한다.4. 이에 contain의 초기에 집어넣은 값인 -1일때만 위치를 넣어 처음 위치의 값이 들어갈 수 있도록 하였다. 📌 코드s = input()alp = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','..

Python/online judge 2024.02.16