반응형

분류 전체보기

    [HackerRank][Javascript] Two Strings

    문제 - Two Strings 설명 두 개의 문자 사이에 같은 문자열이 존재하는지 판별하는 문제 첫번째 풀이 Map을 2개를 사용한다. 1개는 s1을 저장하기 위해 쓰이고, 1개는 true, false 값을 저장하기 위해 쓰인다. s1 리스트가 반복문을 돌면서 맵에 개수가 저장된다. s2 리스트로 s1 문자열 중에 같은 문자열이 존재하는지 판단해 Map에 저장하며 반복한다. 마지막 반환할 때 mapOfResult에 true가 있는지를 some 메소드를 통해 판별한다. 하지만, Map을 두 개나 만들고 불필요하게 반복문을 돌게 되는 것 같아 스터디에서 알게 된 내용으로 다시 풀어 보았다. 두번째 풀이 Set에 s1을 저장한다. 여기서 처음 알게 된 사실은 Set에는 String이 들어가도 하나씩 배열로 바..

    [HackerRank][Javascript] Hash Tables: Ransom Note

    문제 Hash Tables: Ransom Note 문제 설명 magazine에 note의 모든 단어가 포함되어 있는지 확인하는 문제 Map과 every를 사용해 풀 수 있었다. Map에는 magazine을 반복문을 돌면서 단어의 개수를 저장한다. 그리고 note를 every 반복문을 돌면서 Map의 value가 undefined 또는 0이 아닐 경우에 false를 반환하게 만든다. 이 문제에서는 1개만 false여도 false이기 때문에 every를 사용하면 추가적인 변수를 사용하지 않고 풀 수 있다. 성공 코드 function checkMagazine(magazine, note) { let mapOfMagazine = new Map(); magazine.forEach((value) => { if (!m..

    [React] 환경설정 제대로 알고 하기 (without CRA) ①

    [React] 환경설정 제대로 알고 하기 (without CRA) ①

    [React] 환경설정 제대로 알고 하기 (without CRA) ① CRA(create-react-app)은 강력하고 편리하지만, 환경설정을 커스텀해서 사용하다가 전체가 어그러지는 상황이 올 수 있어 어렵습니다. 이번 포스팅에서는 초심자로서 CRA를 사용하지 않고 환경 설정하는 방법을 개괄적으로 설명하려고 합니다. 참고: 함수형 컴포넌트 기반으로 구성되었습니다. 2편 보기 : https://egg-programmer.tistory.com/280 참고한 환경설정 처음 환경설정을 시작할 때는 아래에 잘 정리된 설정을 따라 해 보면서 완성했습니다. 한번 잘 동작하는 것을 만들어 두면 다른 프로젝트에서는 조건에 맞게 가감할 수 있다고 생각합니다. 참고한 환경설정을 바탕으로 이해하고 쓰는 저만의 boilerpl..

    [리뷰] 팀 개발을 위한 Git∙GitHub 시작하기

    [리뷰] 팀 개발을 위한 Git∙GitHub 시작하기

    [리뷰] 팀 개발을 위한 Git∙GitHub 시작하기 책의 구성 책은 크게 3가지 단계로 나뉘어져 있다. GUI로도 명령어들을 실행할 수 있기 때문에 각자 상황에 맞는 원하는 단계를 골라서 공부할 수 있는 점이 가장 좋다. GitHub 시작하기 GUI로 GitHub 사용법 익히기 CLI로 GitHub 사용법 익히기 리뷰 이 책은 GitHub를 처음 시작하는 사람이 봐도 좋다. 그리고 어느 정도 기본 명령어(add, commit, push)를 사용할 줄 아는 사람이 봐도 좋다. GitHub를 시작하는 방법부터 명령어의 의미까지 재미있게 실습해 볼 수 있기 때문이다. 나 같은 경우에는 기본적으로 CLI를 사용하고 있었기 때문에 뒤쪽에서 유용한 명령어와 명령어의 의미를 찾아보며 공부했다. 그리고 실습 위주로 ..

    Shell Script 명령어 정리

    Shell Script Shell Script 명령어 정리 기본 명령어 명령어 설명 pwd 현재 경로 출력 ls 현재 디렉토리에서의 파일 리스트 출력 ls -l 접근권한, 생성시간을 포함한 파일 상세 리스트 출력 mkdir [directory name] 새로운 디렉토리 생성 cd cd ./ cd ../ cd [path] home 디렉토리로 이동 현재 디렉토리로 이동 바로 이전 디렉토리로 이동 설정한 경로 디렉토리로 이동 cat test.txt test.txt의 내용 출력 history [n] 지금까지 입력한 명령어 목록 출력 숫자를 정해 최근 n개의 명령어만 출력하게 할 수도 있다. cp filename1 directory 파일 복사 mv 파일 이동 rm 파일 삭제 디렉토리 삭제 시, -r 옵션 부여 f..

    [HackerRank][Javascript] Array - Minimum Swaps 2

    문제 Minimum Swaps 2 실패한 풀이 설명 원래의 배열에서 가장 작은 횟수로 바꾼 수를 찾는 문제. 아주 골치아픈 문제다. 재귀로는 절대 풀 수 없다. 그렇다고 재귀가 아닌 반복문을 쓴다고 풀리는 것도 아니다. 위의 실패한 풀이 두 개 모두 시간초과로 실패했다. swap을 하지 않고 풀어야 풀리는 문제인 것 같다. 심지어 이전에 솔루션이라고 올라온 풀이들도 현재는 통과하지 않았다. 문제가 더 엄격해 진 것 같다. 실패 2번 풀이는 왜 실패인지 아직도 잘 모르겠다. 반복문을 한 번만 도는데도 swap해 주는 곳에서 시간을 더 많이 쓰게 되는 것일까? 밑에 성공한 다른 풀이를 분석하여 이해해 보도록 하겠다. 실패한 풀이 1 function swaploop(arr, result) { if (arr =..