프로그래머스 - 체육복 최대한 피하고 싶었던 이중 for문을 썼다. 제출 후 다른 분들이 푸신 답들을 보며 확 와닿는 게 없다가 밑부분에서 발견했다. 내가 썼던 이중 반복문을 filter()와 find()를 이용하였고 , shift()를 쓰지 않고 delete라는 연산자를 써서 더 효율적인 코드 같았다. 풀이과정 CS50강의를 들으며 의사 코드이라는 코드 표현 방식을 알게 된 후로 더 적극 활용하게 되었다. 물론 완벽한 형식의 의사 코드는 아니지만..:) 엊그제 예외처리로 애를 먹었던 경험이 있어서 오늘은 모든 경우를 생각하려고 노력했다. 1. 중복의 제거, lost에있는 번호와 reseve에 있는 번호가 같으면 lost, reserve 둘 다 배열에서 빼준다 (filter) 1.2 lost, reser..
프로그래머스 - 키패드 누르기 문제의 의도를 처음부터 잘 못 파악하며 풀었다. 왼손과 오른손 값이 같을 때 더 가까운 손으로 누르라고 한 부분에서 키패드 위치 값이 아닌 단순히 숫자의 차로 오해했다. 아무튼 그냥 각 숫자에 해당하는 손을 answer에 push하고 center부분에서 조건을 따지려고 했는데 그때서야 잘못 파악한 걸 알아차렸고,, 접근을 어떻게해야할지 모르겠어서 다른 분의 풀이를 참고했다. 이 문제는 right, left의 값을 계속해서 상황에 맞게 업데이트해주고, 두 지점 간 거리를 절댓값으로 구하는 것 이 두 가지가 핵심이 되겠다. 예전에 이런식으로 위치를 좌표값처럼 생각해서 접근한 적이 있었는데 이런 유형의 문제도 잘 기억해둬야겠다는 생각이 들었다. 내가 풀었던 부분인데, 나는 key..
프로그래머스 - 숫자 문자열과 영단어 문제를 보고 뭔가 금방 풀 수 있을 것 같았다.. 꼭 마지막 예외처리에 안 되어버리면 붙들고 있게 되는데 오늘은 이 마지막단계에서 이 문제를 3시간 동안 붙들고 있었다 ㅠㅠ 다른 분들이 푼 답을 보니 정규표현식으로 해결이 가능한 것이었다. 어제 정규표현식 관한 문제를 풀어서 생각을 안 했던 것은 아닌데 안 쓰고 풀고 싶었나 보다.. 제출 답안 내가 제출한 답안은 테스트 케이스가 무조건 오름차순일 때나 내림차순으로 쓰였을 때, sort()를 쓰면 정렬이 되므로 정답처리까지는 되었을 것이다. 하지만 문제는 오름차순이나 내림차순이 아니며, 랜덤으로 배치되고 중복까지 허용한다. "1zerotwozero3" 은 1020으로 나와야했고, 내 코드는 뒤에 zero를 체크하지못해 ..
프로그래머스 - 위장 문제는 위 링크에서 볼 수 있다. 문제에 대한 해설보다는 기억하고 싶은 개념, 사고, 문법을 기록하는 글이다. 답안은 맨 아래에 표기해 두었다. 1. reduce() 메서드로 object형태 만들기 reduce()는 자신을 호출한 배열의 요소를 순화하면서 인수로 전달된 콜백함수를 반복 호출한다. 그리고 콜백함수의 반환값을 다음 순회 시에 콜백 함수의 첫 번째 인수로 전달하면서 콜백 함수를 호출하여 하나의 결과값을 만들어 반환한다. 해시 관련 문제는 key:value 형태로 변환하는 형식으로 풀어야하는 것 같다. 저번 풀이에도 reduce()를 이용했는데 이번에도 같은 방식으로 시작했다. 이 때 for문을 써도 되지만, reduce()를 쓰면 더 간편하게 object형태로 만들 수 있..
프로그래머스 - 다리 위를 지나는 트럭 문제는 위 링크에서 볼 수 있다. 문제에 대한 해설보다는 기억하고 싶은 개념, 사고, 문법을 기록하는 글이다. 답안은 맨 아래에 표기해 두었다. 구현 능력 너무나 대놓고 큐(queue)의 개념을 활용하면 되는 문제였다. 문제를 몇개 안 풀어 봤지만 보통 for문보다는 while문을 더 활용하는 것 같다. 큐(queue)문제는 shift()와 push()를 활용하면 좋다. 이 문제를 풀 때 처음에 지나간 트럭을 passedTruck이라는 변수에 담았는데, 생각해보니 지나간 트럭을 담을 필요가 없었고, 그냥 몇 초가 걸리는지만 변수에 숫자를 담아 증가시키면 되는 문제였다. 코드를 작성하고 불필요한 것은 없는지 더 생각해봐야겠다. 기억하기 1. fill() 메서드로 배열..
프로그래머스 - 프린터 백준에서 풀었던 문제랑 똑같다. 그 때도 자바스크립트,파이썬 둘다 풀어봤는데, 이번에는 아래 링크와 같은 파이썬 풀이 방식으로 자바스크립트를 사용해 풀어보았다. [백준] 1996번 프린터큐 - 파이썬(python) [백준] 1966번 프린터큐 - 파이썬 python 백준 1966 번 프린터큐 항해 99 심화반은 파이썬으로 알고리즘을 풀어야 한다. Javascript도 아직 신생아라고 생각하는데 갑자기 python으로 leekcode medium 급 문제를 풀게 되었다. 물론 나는 접근도 하지 algoroot.tistory.com 여담이지만 프로그래머스는 입력값을 따로 변수로 선언해 분리하는 작업이 필요하지 않아 편리했다. 그리고 ui적으로도 보기 더 편한하고, testcase도 추..
기능개발 문제 문제는 링크에 잘 나와있으니 따로 첨부하지 않겠다. 배운 것에 대한 내용을 적을 것이다. 1. map() 익숙해지기 map() 메소드를 그동안 몇 번 써보긴했는데 막상 백지상태에서 쓰는거랑 mdn에서 보고 쓰다가 백지상태에서 써보니 잘 써지지가않았다. 분명 아래의 코드를 map()을 이용하면 더 간단하다는 것을 알았음에도 사용하지 못했다. 풀다보면 쓸 일이 많으니 더 익숙해져야겠다. // 내 코드 let days = []; for (let i = 0; i < progresses.length; i++) { days.push(Math.ceil((100 - progresses[i]) / speeds[i])); } // map()사용하여 더 간결하게 const days = progresses.ma..
지난 스택(Stack)편에 큐(Queue)편에 이어 해시테이블 (Hash Table)의 개념을 알고, 자바스크립트로 구현해보고자 한다. 스택(Stack) 편 link [알고리즘, 자료구조] 자바스크립트로 스택(Stack)구현하기 어떤 데이터의 구체적인 구현 방식은 생략한 채, 데이터의 추상적 형태와 그 데이터를 다루는 방법만을 정해놓은 것을 가지고 ADT(Abstract Data Type) 혹은 추상 자료형이라고 한다. 그 중 널리 사 algoroot.tistory.com 큐(Queue) 편 link [알고리즘, 자료구조] 자바스크립트로 큐(Queue)구현하기 (+개념이해) 지난 스택(Stack)편에 이어 이번 시간에는 큐(Queue)에 대해 알아보겠다. 스택(Stack) 편 link https://al..
- Total
- Today
- Yesterday
- html
- network
- 네트워크
- cs50
- 모두를 위한 컴퓨터 과학
- 리액트네이티브
- reactquery
- javascript
- 모두를위한컴퓨터과학
- 프로그래머스
- python
- React
- github
- 자바스크립트 비동기 처리
- 알고리즘자바스크립트
- 자바스크립트 클로저
- 무한스크롤
- 프로그래머스 베스트앨범 자바스크립트
- 실전프로젝트
- css
- GIT
- 백준
- 자바스크립트
- 프로그래머스 자바스크립트
- React Query
- 클로저
- 리액트
- 항해99
- 타입스크립트
- 자바스크립트알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |