본문 바로가기
300x250

개발 공부143

[자료구조] 시간복잡도와 Big-O 표기법 시간복잡도와 Big-O 표기법 우리가 알고리즘 문제를 풀때 중요한 것은 해답을 찾는 것이다. 더 나아가 그 문제를 좀더 효율적인 방법을 찾는 것도 굉장히 중요하다. 좀더 효율적인 방법을 고민해 본 적이 있다면 시간 복잡도를 고민한다는 것과 같은 말이다. 알고리즘에서 빠르다는 의미는 시간으로 표현하지 않는다. 알고리즘에서는 절차(step)의 수로 결정된다. 10번의 스텝이 필요한 알고리즘보단 5번의 스텝이 필요한 알고리즘이 더 훌륭하다고 볼수있다. 시간 복잡도를 표기하는 방법은 다음과 같다. Big-O(빅-오) Big-Ω(빅-오메가) Big-θ(빅-세타) 다른건 잘 모르겠고,Big-O 표기법이 자주 사용된다. 빅오 표기법의 종류는 O(1), O(n), O(log n), O(n2), O(2n) 등이 있다. .. 2021. 7. 19.
사용권한과 환경변수 사용권한 권한 정보 확인 터미널에 ls -l 을 입력하면 다음과 같이 나오게 된다. ls -l 1. 첫 글자는 - 또는 d 이다. d는 폴더, -는 파일이다. 2. 첫글자 뒤의 3글자씩 owner, group, other의 정보이다. 3. r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다. 4. 맨뒤에는 파일이나 폴더 이름이 온다. 5. holloworld.js를 보면 owner의 권한은 rw이므로, 읽고 수정하는게 가능하다. group과 other는 읽기만 가능하다. 6. 그렇다면 linux라는 폴더는? user user는 파일의 소유자이다. 기본적으로 파일을 만든 사람이 소유자가 된다.. 2021. 7. 19.
오류 해결 - Warning: Can't perform a React state update on an unmounted component. 이번 ha2 시험에서 다음과 같은 오류들을 만났다. 섹션투를 두번을 들었지만 그때도 지금도 해결하지 못하다가 시험중에 계속된 구글링으로 결국 찾아냈다. Warning: An update to App inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): act(() => { 블라블라블라~~~ Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application.. 2021. 7. 19.
Mac에서 Homebrew 설치 후 zsh: command not found: brew 오류해결 맥북을 사고 기본세팅을 위해 homebrew를 까는데 엄청난 고생을 했다.. 깔아도 계속해서 찾을 수 없다는 이런 오류가 생겼다. 기존의 과정을 진행하다가 설치하려고 하면 이런 오류를 만날 수 있다. zsh: command not found: brew 이 오류는 오류 메시지가 나오면 Homebrew가 /usr/local/... 가 아닌 /opt/homebrew/ 에 설정되어 있어서 그렇다. 해결 방법은 vi ~/.zshrc 로 들어가서 export PATH=/opt/homebrew/bin:$PATH 를 작성해주고, ESC와 :wq를 누르고 엔터를 치면된다. 홈 디렉토리의 .zshrc 로 설정해 ZSH shell 가 brew command를 찾아 실행할 수 있다. 출처:https://designdepot... 2021. 7. 19.
코드스테이츠 섹션2 ha후기_기수이동은 어땠나 기수이동을 하고 벌써 5주가 지났다. 다시한번 ha시험을 보았고 이번 결과는 합격으로 섹션3로 가게 되었다. 이번에 기수이동되어 지냈던 5주간의 리뷰를 해보려고한다. 1주차 1주차 때 가장 중점적으로 두었던 것은 자료구조와 알고리즘 문제풀이였다. 저번 기수때는 알고리즘 코플릿 13문제중 6문제를 제외하고 어려워서 손도 대지 못했었다. 5주+ 1주차를 지나면서 경험치가 쌓였다는 생각이 들 정도로 문제를 풀 수 있게 되었고, 아직 어려워하는 스터디원에게 섹션투에 있는 코플릿 문제들은 설명을 할 수 있을 정도도 되었다. 2, 3주차 2주차에는 http기초에 대해 배우면서 서버와 요청과 응답이 어떻게 보내지게 되는지 다시 배웠다. 했던거지만 다시 보니 새로웠고 전보다 코드가 깔끔해지는 경험을 했다. 이번 섹션투.. 2021. 7. 19.
[프로그래머스3단계] 단어 변환 with 자바스크립트(깊이 우선탐색 dfs) 문제설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로 .. 2021. 7. 5.
[프로그래머스 3단계] 연결된 정점드 with 자바스크립트(깊이 우선 탐색(DFS)) 문제설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 주의사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i.. 2021. 7. 5.
[프로그래머스 3단계] 여행경로 with 자바스크립트 문제설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 주의사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력예시 코드 function solution(ti.. 2021. 7. 4.
[프로그래머스 1단계] 가운데 글자 가져오기 문제설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 주의사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력예시 코드 function solution(s) { var answer = ''; if(s.length % 2===0) answer += s[(s.length/2)-1] + s[(s.length/2)] else if(s.length % 2 !==0) answer += s[Math.round(s.length/2)-1] return answer; } 해석 문자의 길이가 2로 나눴을 때 나머지가 0이라면 length길이를 2로 나눠 -1한 글자와 length길를 2로 나눈 글자를 더해 리턴하고, 아니라면 s.. 2021. 6. 29.
반응형