일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- #프론트엔드개발자
- 파이썬 #python #기초 #기본
- #코딩독학 #코딩인강 #코딩배우기 #개발자 #코딩이란 #코딩교육 #프론트엔드부트캠프 #백엔드부트캠프 #국비지원부트캠프 #개발자 #백엔드 #AI부트캠프 #개발자국비지원 #백엔드개발자
- Today
- Total
아자아자 화이팅이닷 !
230722 오프라인 스터디 & 파이썬 코딩 공부 본문
내 생에 첫 블로그다 ..!
처음 쓰는거라 어색하겠지만 쓰다보면 익숙해지겠징 ..
해보자고 ~!~~
원래는 어제 썼어야했지만 오늘 쓰는 블로그 ,, 넘나 피곤한걸 어떡해 ~!~
어제 처음 오프라인 스터디에 참여했다 !
다들 열정 넘치셔서 나도 동기부여가 많이 되었당 열심히 해야쥐 ,,
일단 나는 파이썬에 대한 기초가 부족하지만 냅다 프로그래머스 문제를 풀었다 ㅋㅠ
처음에는 쉬운문제부터 풀어야겠다는 생각도 없이 그냥 위에 떠있는것부터 풀었더니 시간이 꽤 걸렸다 ㅠ
일단 첫 문제는
문자열 str이 주어질 때, str을 출력하는 코드를 작성하는것이었다.
이때, 1 ≤ str의 길이 ≤ 1,000,000이고, str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어진다는 제한사항이 있었다.
나는
str = input()
if len(str) >= 1 and len(str) <= 1000000:
print(str)
이라고 답을 입력했는데, 공백이 없다는 조건인 str != "" 도 주어져야 완벽한 답이었다.
그 다음 문제에서는
4 5
를 입력했을 때 출력값이
a = 4
b = 5
처럼 나와야한다는것이었는데, 여기에서는 map함수와 split, strip함수를 쓰는 방법이 있었다.
map() 함수는 여러 개의 데이터를 받아서 각각의 요소에 함수를 적용한 결과를 반환하는 내장 함수이다.
리스트, 튜플 등의 반복 가능한(iterable) 객체를 입력으로 받을 수 있다.
map(function, iterable)
- function: 각 요소에 적용할 함수
- iterable: 함수를 적용할 데이터 집합
map() 함수는 iterable의 각 요소에 대해 function 함수를 적용한 결과를 새로운 iterator로 반환한다. 이때, function 함수는 각 요소를 인자로 받아서 처리하며, 함수의 반환값이 새로운 iterator의 각 요소가 된다.
map(function, iterable1, iterable2, ...)
- function: 각 요소에 적용할 함수
- iterable1, iterable2, ...: 함수를 적용할 데이터 집합
여러 개의 반복 가능한 객체를 입력으로 받는 map() 함수는 입력된 각 객체의 요소를 차례대로 하나씩 가져와서 function 함수에 인자로 전달한다.
[EX1]
def square(x):
return x**2
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) #답 : [1, 4, 9, 16, 25]
[EX2]
def add(x, y):
return x + y
numbers1 = [1, 2, 3, 4, 5]
numbers2 = [10, 20, 30, 40, 50]
added_numbers = map(add, numbers1, numbers2)
print(list(added_numbers)) #답 : [11, 22, 33, 44, 55]
그리고 map() 함수는 가장 짧은 길이를 가진 iterable 객체의 길이만큼 function 함수를 반복적으로 적용한다고 한다.
strip() 함수는 파이썬 라이브러리에서 사용할 수 있는 내장 함수의 일부로써, 원래 문자열의 시작과 끝에서 주어진 문자를 제거한다. 기본적으로 strip() 함수는 문자열의 시작과 끝에서 공백을 제거한 후 반환한다. 만약, 괄호 안에 특정 값을 넣을 경우에는 해당하는 문자열을 제거할 수 있다.
strip 함수에는 rstrip, lstrip, strip으로 총 3가지가 있다. rstrip은 오른쪽에 있는 것만(공백 or 특정 문자) 제거하고, lstrip은 왼쪽에 있는 것만 제거하고, strip은 양쪽 다 제거한다.
# 공백을 제거하는 경우
string = " hello "
string.strip()
>>> 'hello'
# 특정 문자열을 제거하는 경우
string = " hello "
string.strip('e')
>>> 'hllo'
# 공백을 제거하는 경우
string = " hello "
string.lstrip()
>>> 'hello '
# 특정 문자열을 제거하는 경우
string = " mmmhellommm "
string.lstrip('m')
>>> 'hellommm'
# 공백을 제거하는 경우
string = " hello "
string.rstrip()
>>> ' hello'
# 특정 문자열을 제거하는 경우
string = " mmmhellommm "
string.rstrip('m')
>>> 'mmmhello'
split()함수는 문자열을 나눠서 리스트로 만들 때 가장 많이 사용하는 함수이다. split() 괄호 안에 아무것도 넣지 않으면 공백(띄어쓰기, 탭 등)을 기준으로 문자열을 나누고, 만약 특정 문자가 들어가 있다면 해당 문자를 기준으로 나눈다. 나누어진 값은 리스트의 요소로 저장된다.
- 문자열.split()
- 문자열.split('구분자')
- 문자열.split('구분자', 분할 횟수)
- 문자열.split(seq='구분자', maxsplit=분할 횟수)
이런식으로 분류시킬 수 있다.
str = 'a b c d e f g'
result = str.split()
print(result)
>>> ['a', 'b', 'c', 'd', 'e', 'f', 'g']
str = 'a,b,c,d,e,f,g'
result = str.split(',')
print(result)
>>> ['a', 'b', 'c', 'd', 'e', 'f', 'g']
str = 'a,b,c,d,e,f,g'
res = str.split(',' , 3)
print(res)
>>> ['a', 'b', 'c', 'd,e,f,g']
str = 'a,b,c,d,e,f,g'
result = str.split(sep=',' , maxsplit=3)
print(result)
>>> ['a', 'b', 'c', 'd,e,f,g']
이렇게 찾아서 공부를 한다음, 쉬운문제들을 풀기 시작했다.
대문자로 바꾸는 upper()함수와 소문자로 바꾸는 lower()함수도 다시 상기시키고 ~
부분문자열 찾기 할때는 find()함수를 썼었는데, 더 쉬운 방법이 있었다.
문자열 a와 b가 있을때, b가 a의 부분문자열이라면 1을, 아니라면 0을 return하는 함수를 작성하라는 조건이 주어지면,
따로 if else로 1과 0을 return하지 않아도
def solution(a,b):
return int(b in a)
이렇게 해도 답이 나왔다.
각 자리수 합을 찾는
number | result |
"123456789" | 45 |
"1000000" | 1 |
이런 문제에서는 for문을 사용해도 되지만
sum(map(int, str(number)))을 사용하면 더 간단히 문제를 풀 수 있었다.
*참고 (배열에서)
arr = [49, 13]
print(sum(arr))
>>> 62
<마지막으로 나를 위한 메모 !>
파이썬 300제에서 다시 보면 좋을 문제(~45) : 9 , 23 , 24 , 27 , 28 , 29 , 30 , 34 , 35 , 36 , 37 , 38 , 45
+ replace()함수는
string = 'abcd'
string.replace('b', 'B')
print(string)
>>> abcd
string = 'abcd'
string = string.replace('b', 'B')
print(string)
>>> aBcd
'TIL' 카테고리의 다른 글
230727 프로그래머스 문제풀기 (0) | 2023.07.27 |
---|---|
230726 파이썬 공부 (0) | 2023.07.27 |
230725 파이썬 공부 (0) | 2023.07.25 |
230724 파이썬 코딩 공부 (0) | 2023.07.25 |
230723 파이썬 코딩 공부 (0) | 2023.07.23 |