본문 바로가기

파이썬/파이썬 문법(심화)6

[WIP]대한민국에서 가장 자세한 f-string 가이드 대한민국에서 가장 자세한 Python의 f-string에 대한 가이드 여러분이 이미 Python의 f-string에 대해 알고 있을지라도, 이 글은 그 기능과 사용법에 대해 최대한 많은 정보를 제공하려고 합니다. f-string은 Python 3.6부터 도입된 문자열 포매팅 방식으로, 표현력이 뛰어나고 읽기 쉬워 많은 Python 개발자들에게 사랑받고 있습니다. 해당 글 작성을 위해 구글에 f-string에 대한 한국어 게시글을 30개 정도 읽었습니다. 그리고 현존하는 f-string에 관한 한국어 글중, 가장 자세한 글이라고 자부합니다! 예시 코드 실행을 위해 파이썬 3.11버전 이상을 권장합니다. f-string이란? f-string, 또는 "formatted string literal"의 약자입니다.. 2023. 5. 26.
[잡지식] 문자열 연결에 "+"를 사용하지 마세요! 파이썬에서 여러 문자열을 연결할 때 "+"로 문자를 합치는 경우가 많다. 이렇게 아주 간단하게 두 문자열을 합칠 수 있고, s1 = "hello" s2 = "soypablo" new_string = s1 + s2 #new_string = "hello soypablo" 여러 문자열의 경우에는 이렇게 연결할 수 있을것이다. string_list = ["hello", "my", "name", "is", "pablo"] join_sentence = "" for s in string_list: join_sentence += s print(join_setence) #"hello my name is pablo" 그러나 이러한 방식은 메모리 비효율 연산을 일으킨다. 왜냐하면 문자열은 불변인 객체이기 때문에 문자열을 수.. 2023. 2. 19.
(Python) 약수 구하기.(시간 복잡도:$O(\sqrt{n})$) 코딩테스트 문제를 풀다보면 어떤 수의 모든 약수를 구해야 할 때가 있다. 아주 간단하게 어떤 수의 약수를 구하는 알고리즘을 알아보자.추가로, 약수를 정렬된 순서로 리턴까지 해보자. 숫자 n의 약수를 구하는 알고리즘을 소개하면 다음과 같다.(시간 복잡도:$O(\sqrt{n})$) 1 ~ $\sqrt{n}$의 범위안에 드는 자연수 i를 대상으로 루프를 돈다. 만약 n이 i로 나누어 떨어진다면, i와 n을 i로 나눈 값은 n의 약수이다. 이를 코드로 나타내면 다음과 같다. x = 100 divisor_set = set() for divisor in range(1, int(x**0.5) + 1): if x % divisor == 0: divisor_set |= {divisor, x // divisor} prin.. 2022. 12. 26.
2진수로 표현한 숫자의 1의 개수 세기. def count_one(x): cnt = 0 while x: x &= x - 1 cnt += 1 return cnt 이항 비트 연산을 이용한 log(n) 연산. 원리는 간단하게 직접 해보면 안다. ex = 7 좌항(10진법) => 우항(2진법) while loop1 7 => 111 7 - 1 => 110 7 & 6 = 11 while loop2 3 => 11 3 - 1 => 10 3 & 2 = 1 while loop3 1 => 1 1 - 1 => 0 1 & 0 = 0(condition end) 3번의 연산=> 1의 개수가 세개이다. 2022. 10. 27.