본문 바로가기

728x90

분류 전체보기

(70)
[클린코드] 3장 함수 함수 작게 만들어라 블록과 들여쓰기 - 들여쓰기 수준은 1단 or 2단을 넘어서는 안된다. 한 가지만 해라 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. 함수 당 추상화 수준은 하나로 함수명에 서술적인 이름을 사용하라 getUser 보단 getUserIdAndPwd가 더 좋은 함수명 함수의 코드를 읽으면서 함수명에서 짐작했던 기능을 그대로 수행한다면 깨끗한 코드 함수 인수 함수에서 이상적인 인수 개수는 0이다. why? - 인수는 함수를 사용하는 독자가 이해하기 어렵다. 플래그 인수 - 함수 사용시 true 와 false를 넘기는 인수 플래그 인수는 추하다 why? - 함수가 한꺼번에 여러 가지를 처리 한다고 공표하는 함수니. ( true일때 이거하고 false..
2021.12.20 부품찾기 # 오늘의 문제 부품 찾기 난이도 중 | 풀이시간 30분 | 시간 제한 1초 | 메모리 제한 128 # 나의 코드 나의 코드 어레이를 받아그 안의 값에서 타겟 어레이의 원소값이 존재하는 지 찾기 위해서 루프를 돌아 있다면 있다고 답변하고 없으면 없다고 답변하는 코드 def binary_search(array, target, start, end): if start > end: return None mid =(start + end)//2 if array[mid] == target: return mid elif array[mid] > target: return binary_search(array, target, start, mid -1) else: return binary_search(array, target..
2021.12.14 이진 탐색 연습 # 오늘의 문제 이진 탐색 연습 # 나의 코드 이진 탐색 연습 중 재귀함수로 구현된 코드 def binary_search(array, target, start, end): if start > end: return None mid = (start + end) //2 if array[mid] == target: return mid elif array[mid] > target: return binary_search(array, target, start, mid -1) else: return binary_search(array, target, mid +1 , end) n, target = list(map(int, input().split())) array = list(map(int, input().split()..
Apache Log4j2 보안이슈 와 문제해결 # 서론 전세계적으로 역대급 보안이슈가 터졌다. 한번쯤은 들어봤을법한 마인크래프트 라는 게임에서 서비스를 하는 한 회사가 보안취약점을 이용한 해킹 시도를 찾아 내면서 해당 보안이슈가 밝혀졌다. Apache에서 제공하는 오픈소스 라이브러리인 Log4j의 취약점을 통해 상대방 컴퓨터에 원격접속해 온갖짓을 다할 수 있다는 것이다. 해당 취약점이 발생하는 log4j버전은 2.0-beta9 ~ 2.14.1 모든 버전이다 내가 받은 프로그램에 Log4j의 해당 버전이 포함된다면 중요파일 삭제, 컴퓨터 끄기, 웹캠 켜기같은 나쁜짓들을 나쁜 마음 먹은 사람들이 얼마든지 할 수 있게 한다. 그럼 이 문제를 어떻게 해결할 수 있을지에 대해 몇가지 찾아보았고 글로 남겨두려 한다. #본론 해결 방법은 log4j 를 버전업을 ..
2021.12.09 코테_두 배열의 원소 교체 # 오늘의 문제 두 배열의 원소 교체 난이도 하 | 풀이시간 20분 | 시간 제한 2초 | 메모리 제한 128m # 나의 코드 n,m = map(int, input().split()) arr1 = list(map(int, input().split())) arr2 = list(map(int, input().split())) arr1.sort() arr2.sort(reverse = True) for i in range(m): if arr1[i] < arr2[i]: arr1[i], arr2[i] = arr2[i], arr1[i] else: break sum = 0 for i in range(n): sum = sum + arr1[i] print(arr1) # 정답과의 비교 1. 내 코드의 경우 덧셈을 명시적으로..
[ReactNative] Invariant Violation: Tried to register two views with the same name RNCSafeAreaProvider 에러 해결 #서론 리액트 네이티브 프로젝트를 설치한 후 UI를 만들때 라이브러리의 도움을 받기 위해서 react-native-elements를 활용하던 와중 Docs에 써있는 Header부분을 참고해 넣으려고 할 때 저 오류가 발생했고 그 것을 해결하기 위해 깃허브 커뮤니티를 활용했고 그에 따른 방법론을 서술해 놓으려 한다. #본론 원인 npm install react-native-safe-area-context 해당 부분을 설치한 후 어플리케이션을 새로고침하자 저 오류가 떴다. 아래의 출처를 참고하니 RNCSafeAreaProvider 라는 디펜던시가 2개 설치되어 있기에 해당 오류가 발생했다고 결론지었다. 나는 리액트네이티브 앱을 Expo를 활용해서 프로젝트를 만들었고 react-native-safe-area-..
2021.12.08 코테_낮은 순서로 출력 # 오늘의 문제 낮은 순서로 출력 난이도 하 | 풀이시간 20분 | 시간 제한 1초 | 메모리 제한 128m # 나의 코드 n = int(input()) arr = [] for _ in range(n): inputData = input().split() arr.append((inputData[0], int(inputData[1]))) result = sorted(arr, key = lambda data: data[1]) for i in arr: print(i[0], end= ' ')
2021.12.08 코테_위에서 아래로 # 오늘의 문제 위에서 아래로 난이도 하 | 풀이시간 15분 | 시간 제한 1초 | 메모리 제한 128m # 나의 코드 n = input() arr = [] for _ in range(int(n)): arr.append(int(input())) arr.sort(reverse=True) for i in arr: print(i, end=' ') # 정답과의 비교 코드 절차상의 큰 차이는 없다고 판단한다. n = int(input()) array = [] for i in range(n): array.append(int(input)) array = sorted(array, reverse = True) for i in array: print(i, end=' ')

728x90
반응형