str, int 를 list 로 바꾸지 않고도 풀 수 있다!
내 경우 모음 문제에서 my_string을 list()를 통해서 풀면서
if string[i] not in vowels:
에서 vowels = ['a','e','i','o','u'] 를 지정해주어 풂.
하지만 str 그대로도 풀 수 있다.
다른 사람 풀이를 참고해보니
for char in my_string:
if char not in "aeiou"
로 해서 결과값만 리스트에 담아서 풂.
try, except
try:
* 쌍따옴표와 홑따옴표는 같은 역할. string 안에 ""가 있다면 ''로, ''가 있다면 ""로.
* 문자열을 출력할 때
pi = 3.141592
f'{pi:.2f}' 하면 소수점 둘째 자리까지 가능
* 문자열 합치는 것
'+' 를 붙이면 합쳐짐. 안녕+하세요 는 안녕하세요
하지만 타입이 다르면 안 된다. str+int 는 에러.
* 특정 글자 검색, 비교
위에서 언급한 것처럼 단순히 in, not in 등으로 검색과 비교가 가능함.
* len() 함수는 문자열의 길이를 구하는 함수
* sorted() 함수는 ascii(아스키) 코드 값 기준으로 낮은 값부터 정렬
* 변수.count('찾으려는 문자, 문자열') 함수는 문자나 문자열이 몇 개 있는지 세준다.
* 변수.index('찾고 싶은 문자') 함수는 그 문자의 인덱스 번호를 알려준다.
* 회문(palindrome)을 풀려면 string[::-1]을 사용
string[start,end,step]
재귀함수는 자기 자신을 호출하는 함수
탈출 조건, 즉 기저 사례가 필요함.
피보나치 수열과 같이 재귀함수가 두 개씩 들어있는 것도 가능.
피보나치 수열 참고!
def fibonacci(number):
if number == 0:
print("0으로 끝!")
return 0
elif number == 1:
print("1로 끝!")
return 1
else:
print(f'factorial_number: {number}')
result = fibonacci(number - 1) + fibonacci(number - 2)
print("result:", result)
return result
input()이 헷갈려서 정리 필요함.
Today I Thought
input이 2차원이어서 여전히 헷갈리고 모르는 부분도 많지만, 오늘은 스스로 풀어낸 문제도 좀 있어서 약간 뿌듯하긴 하다. 백준에도 조금 더 익숙해졌고 아주 조금씩 발전해나가고 있다는 느낌이 든다. 알고리즘 강의도 새로 받아서 듣고 싶은데.. 하루가 24시간보다 더 길었으면 좋겠다... 내가 이런 생각을 할 줄이야.