오늘은 쓰기 귀찮아서 대충 몇개만 쓰고 가겠다.
파이썬의 복사 방법에 대해서 대략 배웠다.
2가지 방법이 있는데 하나는
얕은 복사고
하나는…
…
깊은 복사다.
안 알려주려다 참았다.
얕은 복사 특) 좀도둑 마냥 찔끔씩 계속 훔침
깊은 복사 특) 대범하게 기둥까지 뽑아가 지꺼마냥 들고 다님
얕은 복사의 경우 참조를 참조하기에
복사한 항목이 다른 것을 참조할 경우 같이 변한다.
그리고 깊은 복사의 경우 참조한 항목을 참조하기에
복사한 항목이 변하더라도 당당하다.
파이썬의 특징 때문에 이런 일이 벌어졌다.
파이썬에서 변수란 객체의 별명 같은 느낌이니 말이다.
그리고 할꺼면 화끈하게 하라는 교훈을 얻었다.
원래 카지노 상대로 이기는 법도 1트에 올인 박는거랬다.
그리고 백준 1074도 풀었다.
Z무슨 코드였는데
마침 이진 검색을 배워 이를 활용했다.
리스트를 만들다가 굳이? 싶어서
리스트 없이 바로 값만 대입하게 만들었다.
N, r, c = map(int, input().split())
result = 0
# 가로 세로 길이
size = 2 ** N
# 박스 안 쪼개질때까지 반복
while size > 1:
# 2진검색이니 반 가르고 시작
size //= 2
# 1사분면 안이니 걍 무시
if r < size and c < size:
pass
# 2분면 안이니 현재 박스 값 * 1 추가
elif r < size and c >= size:
result += size * size
c -= size
# 3분면 안이니 현재 박스 값 * 2 추가
elif r >= size and c < size:
result += size * size * 2
r -= size
# 4사분면 안이니 현재 박스 값 * 3 추가
else:
result += size * size * 3
r -= size
c -= size
print(result)
검에 무언가를 담으려면 덜어내라는 말이 있듯이
나도 리스트를 덜어냈다.
검과 가까워져 기쁜 하루였다.