본문 바로가기
반응형

전체 글601

코드스테이츠 소프트웨어엔지지어링 부트캠프 +50 리액트 상태 끌어 올리기 리액ㅡ의 단방향 데이터 흐름 원칙에 따라, 하위 컴퍼넌트는 상위컴퍼넌트로부터 전달받은 데이터의 형태 혹은 타입이 무엇인지만 알 수 있다. 데이터가 state로 부터 왔는지, 하드코딩으로 입력한 내용인지는 알 수 없다. 그럼 하위 컴퍼넌트의 이벤트로 인해 상위 컴퍼넌트의 상태가 바뀌는 것은 어떻게 해야 할까?? 상위 컴퍼넌트의 '상태를 변경하는 함수' 를 하위 컴퍼넌트로 전달하고 이 함수를 하위 컴퍼넌트가 실행 하면 된다. 이는 여전히 단방향 데이터 흐름에 원칙에 부합하는 해결방법이다. 예제 https://codesandbox.io/s/simple-lifting-state-up-hooks-ljrdy?from-embed 위 홈페이지에 들어가 예제를 실행해 볼 수 있습니다. 답: pr.. 2021. 9. 7.
코드스테이츠 소프트웨어엔지지어링 부트캠프 +49, 시간복잡도 시간복잡도 사용하는 알고리즘 시간복잡도에 대해 조금 감이 온다. 아래 두 문제 다 계산량을 염두에 두고 코딩을 하는 사고를 길러주는 문제였다. 특히, power알고리즘은 O(logN)이 어떤 시스템인지 알 수 있게 하고, 이 문제를 통해 코드가 실행될때마다 계산량이 줄어든다는 의미가 무엇인지 알게 되었다. https://wnsdufdl.tistory.com/91 알고리즘 6 : 프린터 문제 김코딩은 최근 인쇄할 일이 많이 생겨 창고에서 안 쓰던 프린터를 꺼냈습니다. 이 프린터의 성능을 테스트하여 새로운 프린터를 장만할지 결정하려고 합니다. 김코딩은 프린터의 인쇄 작 wnsdufdl.tistory.com https://wnsdufdl.tistory.com/92 알고리즘 7 : power 문제 두 수를 입력.. 2021. 9. 6.
알고리즘 7 : power 문제 두 수를 입력받아 거듭제곱을 리턴해야 합니다. 입력 인자 1: base number 타입의 자연수 (base >= 2) 인자 2: exponent number 타입의 정수 (exponent >= 0) 출력 number 타입을 리턴해야 합니다. 실제 계산 결과를 94,906,249로 나눈 나머지를 리턴해야 합니다. 주의사항 Math.pow, 거듭제곱 연산자 사용은 금지됩니다. 시간복잡도 O(logN)을 만족해야 합니다. 나머지를 구하는 이유는 계산 결과가 컴퓨터로 나타낼 수 있는 수의 범위를 넘을 수 있기 때문입니다. 하지만 모든 연산이 끝난 뒤에 그 결과를 94,906,249로 나누려고 해서는 안 됩니다. 연산 중간에도 이 범위를 넘을 수 있기 때문에, 연산을 할 때마다 나머지를 구하고 그 결과에 .. 2021. 9. 6.
알고리즘 6 : 프린터 문제 김코딩은 최근 인쇄할 일이 많이 생겨 창고에서 안 쓰던 프린터를 꺼냈습니다. 이 프린터의 성능을 테스트하여 새로운 프린터를 장만할지 결정하려고 합니다. 김코딩은 프린터의 인쇄 작업 목록의 크기와 최대 용량을 가정하고 각기 다른 용량의 문서를 차례대로 인쇄하여 모든 문서가 인쇄되는데 최소 몇 초가 걸리는지 테스트하기로 했습니다. 프린터 인쇄 작업 목록의 제한사항은 다음과 같습니다. [제한사항] 인쇄 작업 목록은 칸으로 이루어져 있습니다. 각 칸에는 한 개의 문서만 위치할 수 있습니다. 문서는 1초에 한 칸만 이동할 수 있습니다. 인쇄 작업 목록의 크기는 bufferSize이고 최대 용량 capacities 만큼 문서를 담을 수 있습니다. 만약, 인쇄 작업 목록의 크기가 2이고 최대 용량이 10Kib라.. 2021. 9. 6.
반응형