오늘의 코드

# 1110번
n = int(input())
existingNum = n
count = 0
# 몫을 구하는 연산자는 // 나눗셈을 하는 연산자는 /\
while(True):
    tens = n//10
    units = n % 10
    # 진짜 문제 꼼꼼하게 안 읽으면 이 사단이 난다.
    # 앞에 0을 붙이는 거 즉 10의 자리 수가 0이므로 0을 써주는 건데
    # 뒤에 0을 붙여서 10으로 만들어주니 당연히 안되지
    if(n < 10):
        tens = 0
    sumTensUnits = tens + unitsㅁ
    if(sumTensUnits >= 10):
        sumTensUnits = sumTensUnits-10
    n = (units*10) + sumTensUnits
    # 전역변수로서 역할을 하고 있었다. 오해해서 미안
    # 모를 때는 출력해보자
    count = count+1
    if(n == existingNum):
        break
print(count)

#10818번
n = int(input())
arrayEachN = list(map(int, input().split()))
arrayEachN.sort()
print(arrayEachN[0], arrayEachN[-1])

# 2562번
array = []
for i in range(9):
    array.append(int(input()))
copyArray = array.copy()
copyArray.sort()
maxNumberInArray = copyArray[-1]
print(maxNumberInArray)
print(array.index(maxNumberInArray)+1)

# 2577번
number = 0
a = int(input())
b = int(input())
c = int(input())
result = a*b*c
result = str(result)
for i in range(10):
    numberInTheResult = 0
    for j in range(len(result)):
        if(result[j] == str(i)):
            numberInTheResult = numberInTheResult+1
        number = numberInTheResult
    print(number)

 

 

클린코드 27p부터 

 

읽는사람이 차이를 알도록 이름을 지어라 

 

3. 발음하기 쉬운 이름을 지어라 

genymdhms 젠야무다힘즈->generationTimestamp 특정시각 생성 

 

4. 검색하기 쉬운 이름을 사용하라 

문자 하나를 사용하거나 상수를 사용하면 검색이 힘들다

숫자7을 검색하면 7이 들어가는 파일이나 수식이 모두 검색되기 때문이다.

문자 하나나 상수로 검색하는 것은 너무도 좋지않다.

한 문자 변수를 사용하려면 짧은 메서드에서 지역변수로 사용하는 것만 하는 것이 좋다.

 

5. 인코딩을 피하라 유행이나 범위정보까지 인코딩에 넣으면 해독하기 어렵다.

헝가리식 표기법이나 멤버변수 접두어는 옛 상황에 맞춘거라 지금과 맞지 않다.

*클래스 이름 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.

manager, procesor, data, info 등과 같은 단어는 피하고 동사는 사용하지 않는다.

*메서드 이름 메서드 이름은 동사난 동사구가 적합하다.

postPayment 결제 후, deletePage,save 등이 좋은 예이다.

접근자 Accessor = get을 붙인다.

변경자 Mutator = set을 붙인다.

조건자 Predicate = is를 붙인다.

 

6. 일반화된 이름을 사용하라.

이름이 너무 기발하거나 아는사람만 알게 만들면 함수가 무엇을 하는지 모를 수 있다.

 

7. 한 개념에 한 단어를 사용하라

위의 메서드 이름 중 접근자를 여러개 만들 때 하나는 get 하나는 take를 쓰면 혼란스럽다.

 

8. 한 단어를 두 가지 목적으로 사용하지 마라 다의어라도 한 가지 개념으로만 사용해야한다.

 

9.의미 있는 맥락을 추가하라 ->주소에 관한 맥락에 addr을 붙여 addrFirstName, addrState

함수가 길고 함수 전반에 특정 변수들을 사용한다면

함수를 작은 조각으로 쪼개고자  클래스를 만든 후 특정 변수를 클래스에 넣는다.

클래스명은 맥락에 맞게 설정한다. 그러면 특정 변수들은 맥락이 분명해진 변수가 된다.

특정 변수들은 확실하게 클래스의 맥락에 속하게 된다.

이렇게 맥락을 개선하면 함수를 쪼개기가 쉬워지므로 알고리즘도 명확해진다.

 

 

이연님의 성공을 기대하지 않을 때 얻는 것들 중

 

“그림은 취미로 그렸을 때가 최곤데 그림을 안그려도 돈을 벌 수있는 구석이 있다? 완전 좋죠.

오히려 나의 창작에 돈이라는 무게를 지어주지 않아도 되는 정말 최고의 상태인 건데, 나는 그림으로 성공해야 돼 라고 생각하는 상태에서는 그게 정말 끝없는 불행인거죠.”

“그림일기를 그리기 시작한 계기는 내 삶을 잘 기억에 남기고

내가 그림을 그리는 인간 어쨌거나 원래의 나는 화가라는 것을 잊지 않기 위한 장치였거든요."

 

"그러면서 그림에 대한 기대 자체를 버렸어요.

그전에는 내가 그림을 사랑한 만큼 그림이 나한테 뭔가를 줘야한다고 생각했어요.

사실 바라는 건 돈이었죠. 진짜 완전히 옛날로 돌아가서

? 왜 내가 그림을 그렸지?라는 이유에 집중을 하니까

나는 그림이 나한테 돈을 주거나 그런게 좋아서 그림을 그리는 사람이 아니더라구요.

놀랍게도 전 아직도 그림을 많이 사랑해요.

온전히 그림만이 줄 수 있는 영역이 있거든요 그게 좋아서 사실은 그림을 그리는 건데

그 쾌감을 줄 수 있을 정도면 내가 그림을 위해 다른 일을 할 각오가 되어 있는데

그림이 나에게 돈이나 성공까지 줘야할까?"

 

"그래서 성공하기를 포기했어요.

그림을 부양해야겠다고 그림을 그냥 순수하게 사랑하기로 다짐을 한 거에요.

그러니까 놀랍게도 잘됐어요."

(회사를 그만두고 원데이 클래스로 그림으로 돈벌려 해보니 쉽지 않았고 나를 먹여살린것은 디자인이였음을 깨달음)

 

"그거를 해서 행복할 수 있으면 그게 사실 성공이거든요.

제가 성취는 했지만 성공은 하지 못했다고 하는 이유가

저는 더 많이 행복할 수 있는 거리들이 있다고 생각하고 찾고 하는 중이어서 그런 것을 완결 짓지 않았어요.

이건 성공으로 가깝게 가고 있는 것이지 성공을 했다고 단정지을 수는 없어요.

성공을 포기하면 창작이 자유로워져요. 나다운 나의 무언가를 만들 수 있게 된 계기이기도 해요."

 

나의 느낌 나도 비트박스를 하면서 직업으로 수익을 얻고 성공하기를 바랐다.

하지만 나만의 느낌이 아니라 다른 사람을 따라하기 바빴다. 

옛날 처음 비트박스를 하던 때로 돌아가서 나를 바라보니 다른 사람을 따라하기보다는

그냥 내가 내는 리듬에 몸을 맞기고 신날 때 자연스럽게 나오는 것이었다.

그게 행복 이었다. 그것을 다시 찾는다면 나는 성공한 것이다. 

 

'오늘의 메모' 카테고리의 다른 글

21.02.08  (0) 2021.02.08
21.02.07  (0) 2021.02.08
21.02.04  (0) 2021.02.04
21.02.03  (0) 2021.02.03
21.02.02  (0) 2021.02.02

+ Recent posts