이건…
잊어서는 안될 7월 11일 그날의 기억이다…
…
횐님들~
오늘은 드디어!!!
정글에서 공부를 시작했어요~(❁´◡`❁)
노트북들고 코딩 서적 들고 복도를 거닐니 기분이 좋더라고요~☆: .。. o(≧▽≦)o .。.:☆
아무튼,
수박 겉핥기식으로 배운 파이썬 말고 제대로 파이썬 문법에 대해 배우며 백준 사이트의 문제도 풀고 알고리즘 입문도 읽었보게되었다.
그 중 인상 깊었던 것들을 위주로 적어보려 한다.
지극히 개인적인 생각이고 내가 다시 보려는 거니 두서 없이 남발하겠다.
불만은 받지 않겠다.
백준 2577
## A, B, C = int(input()) 3줄에 걸쳐 주기에 따로 받아야함
A = int(input())
B = int(input())
C = int(input())
D = A * B * C
## F = 0 필요 없음
## E = str(D).split('') 빈문자열로 스플릿 불가능
E = list(str(D))
for i in range(10):
count = 0
for e in E:
if e == str(i): ## i를 불러와 0~9까지 검사를 진행한다
count += 1
print(count)
for문 안에 for문을 넣고 돌린다는게 상당히 헷갈렸다.
바깥쪽 for문에서 선언한 변수가 안쪽의 for문에서도 사용 가능하다는 걸 생각못해 헤맸고 말이다.
그래도 이해하니까 무언가 짜릿한게 기분 좋았다. ≧ ﹏ ≦
잘하면 중독 될지도 모르겠다.
허접 문제 풀고 좋아한다 뭐라하면 속상하니 자제 바란다.
그리고 충격적인 것도 하나 알게 되었다.
ㄹㅇ 충격이라 긴장할 필요가 있을 정도다.
파이썬에선 함수란 상자에 담긴 느낌이 아니라는 사실이었다.
그 대신 일종의 참조를 해서 정해진 값을 보여주는 하이퍼링크 같은 거였다!!!
어린 왕자가 슬퍼할만한 사실이었다.
사실, c나 java같은 언어와의 중요한 차이점이라 놀랄 수 있다고 책에서는 얘기했지만…
애시당초 아는 문법이라고는 글 쓰기 위한 마크다운 밖에 없던 터라 별 생각이 들지 않았다.
그래도 다음에 아는 척 꺼드럭 거릴 거 하나 생겨 기분이 좋다.
추가로 진법을 펼치는 법도 배웠다.
10진법을 여러 진법으로 바꾸는 코드도 익혀가면서
(list사용법을 익혀가는 목적으로 말이다.)
2진법과 8진법 등에 대해서배우며 말이다.
있어보이는 이름과 01010001010같은 인류를 지배하려는 듯한 생김새 덕에
꽤 어려울거라 긴장했지만 생각보다 별 거 없었다.
10진법은 0~9로 표현하는 거고
2진법은 0,1로
8진법은 0~7로
16진법은 0~9 + A~F와 같이 영어까지 추가해서 사용하는 것 뿐이었다.
여기까지만 배웠을땐 긴장했다만
def card_conv(x, r) -> str:
d = '' # 변환 결과(문자열)를 저장할 변수, 처음엔 빈 문자열이다
dchar = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 각 진법에서 쓸 수 있는 문자 집합이다
while x > 0: # x가 0이 될 때까지(모든 자릿수 처리)반복한다
d += dchar[x % r] # x를 r로 나눈 나머지에 해당하는 문자(즉, 현재 자릿수)를 결과에 추가
x //= r # x를 r로 나눠 몫만 남긴다(다음 자릿수로 이동)
return d[::-1] # 일의 자릿수부터 변환되었기에 역순으로 반환한다
코드를 만들어보며 사실상 걍 나누기만 하면 표현 가능하단 걸 알게 되었고 진법을 깨우쳤다.
머지않아 쥐 한마리 빠져나가지 못할 천라지망을 펼칠 수 있을 듯 하다.
천마는 천라지망 안쓰긴 하지만 파훼할 일은 많으니 지피지기라는 말을 따라 배울 마음은 있다.