Develop/Python

Develop/Python

[Python]리스트 요소 대괄호 없이 한번에 출력하기

출력 하다가 1차원 리스트 a = [1,2,3,4] 가 있을 때 1 2 3 4 이렇게 출력하고 싶을 때가 있다. for x in arr: print(x, end="") 라고 할 수도 있지만 arr = [1,2,3,4] print(*arr) 이런 식으로 출력할 수도 있다. print(*sorted(arr)) 이런식으로 응용도 가능하다. 이런 표현이 가능한 이유는 Python 리스트에 Asterisk(*) 를 사용하면 리스트 압축 해제를 할 수 있기 때문이다. ref : https://yeomss.tistory.com/160 Python 리스트 요소 한줄에 한번에 출력하기 알고리즘을 풀다가 보면 1차원 리스트 요소를 아래와 같이 한번에 출력하고 싶을 때가 있습니다. arr = [1, 2, 3, 4] ➡️ 1..

Develop/Python

[Python]파이썬 입력 받기(sys.stdin.readline)

백준 15552번 문제 풀어보다가 입력 받는 법에 대해서 정리하고 싶어져서 포스팅! https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 파이썬에서 입력 받을 때 input() 만 써왔었는데 사실 sys.stdin.readline() 도 사용이 가능하다. (사용하기 위해선 import sys 를 해줘야 한다.) 한 두 줄 입력받는 문제들이랑 달리 반복문으로 여러줄을 입력받아야하는 경우에는 input() 으로 입력 받았다가 시간초과가 생길 수 있다. 사용법을 정리해보자..

Develop/Python

[Python]문자열에서 문자열 찾기

문자열 함수 find()를 사용하면 된다. 주어진 입력 문자열에 부분 문자열이 존재하면 그 시작 인덱스를 출력한다. 없으면 -1 리턴. string = input() #입력문자열 part = input() #부분문자열 print(string.find(part))

Develop/Python

[Python]Immutable/Mutable 객체

알고리즘 공부를 하다가 수정 불가능한 타입과 수정이 가능한 타입인 객체에 대해서 정리하고 넘어가고싶어 졌다. 일단 파이썬에서 객체는 수정가능한 타입과 수정 불가능한 타입으로 나뉜다. 수정이 불가능 한게 immutable 이고 수정이 가능한데 mutable 이다. immutable 객체에는 int float str tupe 타입이 있고 mutable 객체에는 list dict 타입이 있다. 예를들어 immutable 객체인 str 를 살펴보자. a 라는 변수에 '안녕' 이라는 문자열을 넣고 a라는 변수에 '잘가' 라는 문자열을 차례로 넣어보자 그러면 '안녕' 이라는 문자열 객체에 메모리 (예를들어) 1번지에 할당되고 이 문자열 객체를 a 라는 변수가 바인딩 한다 다음에는 '잘가'라는 문자열 객체가 메모리의..

Develop/Python

[Python]2차원 배열 선언

전부 0으로 초기화된 2차원 배열을 만들어보자. list comprehension 을 이용하면 처음에 전부 0으로 채워진 2차원 배열을 다음과같이 선언 가능하다 n = 4 arr_2d = [ [0 for _ in range(n)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] n*n 이 아닌 n*m 이라면 다음과 같이 한다. n, m = 4, 5 arr_2d = [ [0 for _ in range(m)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [..

Develop/Python

[Python]문자열 내 문자 정렬

문자열 내의 문자들을 알파벳 순으로 정렬하려면? 숫자 정렬을 할 때에는 sort() 함수를 이용했었다. sort 함수를 쓰기 위해서는 list 를 만들어 사용해야 한다. 따라서 문자열을 list 로 만들고 sort 함수를 이용하면 정렬가능. (정렬한 이후에는 join 함수로 리스트를 문자열로 다시 만들어 주면 되니까!) string = "banana" arr = list(string) arr.sort() print(arr) # ['a', 'a', 'a', 'b', 'n', 'n'] sorted_str = ''.join(arr) print(sorted_str) # aaabnn sorted() 함수는 리스트가 아니더라도 문자열을 바로 정렬해준다. 하지만 결과물이 리스트이다! string = "banana" ..

Develop/Python

[Python]list comprehension

리스트의 각 원소들에 전부 2배씩 해주는 코드를 생각해보자. 기존 리스트에 있던 원소들을 모두 2배 해주면서 동시에 그걸 새로운 리스트에 append 해줄 수도 있지만 list comprehension 을 이용하면 선언과 동시에 for loop 으로 부터 나온 원소를 원하는 값으로 변경해줄 수 있다. [(표현식) for (표현식에서 사용한 변수) in (변수 추출 조건) ] arr = [1, 2, 3, 5] new_arr = [elem * 2 for elem in arr] print(new_arr) >> [2, 4, 6, 10] 조건문을 포함하는 list comprehension 어떤 조건문을 만족하는 값만 리스트에 들어가도록 만들고 싶다면 다음과 같이 작성해주자. [(표현식) for (표현식에서 사용한..

Develop/Python

[Python]입출력

기본 개념 문제들을 풀어보면서 기억해둘만한 것들을 되짚어 보기. python에서는 input() 함수를 통해 한줄 단위로 입력을 받을 수 있음. x = int(input()) print(x + 2) 소수점 반올림을 하려면 python의 내장함수 round() 를 이용하자. x = float(input()) print(round(x,2)) python에서 입력은 한 줄 단위로만 받을 수 있다. (그래서 2개의 줄에 걸쳐 입력받을 때에는 input() 을 두번 써준다.) 만약에 한 줄에 공백을 사이에 두고 받고 싶다면 split() 이라는 함수를 이용한다. 이 함수는 문자열을 특정 기준으로 잘라주는 함수이다. 공백을 기준으로 문자열을 잘라서 그 문자열들을 원소로 가지는 list 가 만들어짐. arr=inpu..

dawonny
'Develop/Python' 카테고리의 글 목록