일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- redux-saga
- 프로그래머스
- SW
- Get
- sw expert academy
- 알고리즘
- 이코테
- react
- Algorithm
- json-server
- react-redux
- useDispatch
- JavaScript
- redux-toolkit
- 코딩테스트합격자되기
- maeil-mail
- redux
- 항해99
- react-router
- 매일메일
- 자바
- Python
- C++
- java
- 리액트
- 항해플러스
- axios
- 테코테코
- createSlice
- programmers
- Today
- Total
목록프로그래머스 (113)
Binary Journey
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nt0Zx/btrdrvgwmXf/KCoelcpyHd98UPBq8BoJ7K/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 규칙 찾기 어려울 땐 규칙 보일 때까지 나열해보는 게 답 하지만 알기 쉽게 나열해야 한다. AEIOU 로 보기 어려워서 나는 12345 로 바꾼뒤에 규칙을 찾아보았다. ( -> 는 앞자리의 1의 값들을 빼준 값임) 숫자 index 숫자 index 숫자 index 숫자 index 숫자 index 1 1 11 2 -> 1 111 3 -> 1 1111 4 -> 1 11111 5 -> 1 2 782 12 158 -> 157 112 34 -> 32 1112 10 -> 7 11112 6 -> 2 3 1563 13 314 -> 313 113 65 -> 63 1113 16 -> 13 11113 7 -> ..
** Javascript reduce 만세 function solution(a, b) { const answer = a.reduce((acc, curr, index, arr) => acc + curr * b[index], 0); return answer; }
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cswNCd/btrlZ9BHNqo/Vapg2iC5jHrUKgZZixEtv1/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 풀다 보면 아마 계속 통과되지 않는 테스트 케이스가 나올텐데 그것은 모든 숫자가 꽝일 때인 테스트 케이스이다. 모든 수가 0일 때만이 아니라 다 틀렸을 때 완전 꽝일 때까지 고려해야 한다. ** Javascript function solution(lottos, win_nums) { const numbers = lottos.filter(num => win_nums.includes(num) || num === 0); const maxRank = numbers.every(num => !win_nums.includes(num) && num > 0) ? 6 : 7 - numbers.length; c..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bcMzmb/btrdtLYAjZD/sWlxEJ2OogPDWLApAKHYqK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 맨 처음 제출했던 풀이 function solution(s) { return (s.length === 4 || s.length === 6) && s.replace(/[0-9]/g, "") === ""; } 2) replace 안 써도 된다. function solution(s) { return (s.length === 4 || s.length === 6) && !s.match(/[a-zA-Z]/g); } 3) test 사용 function solution(s) { return (s.length === 4 || s.length === 6) && !/[a-z]/i..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bGtHii/btrcZs5cD16/wshPtUzk9i6hXS861v5RK1/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 알고리즘 강의 듣다 보니 이제 무엇을 써야 할지 감이 잡히는 것 같다. 계수정렬을 이용했다. ** Javascript Object 를 안 쓰려했는데 결국 쓰게 됐다. function solution(N, stages) { let challenging = new Array(N + 1).fill(0); for (let i = 0; i < stages.length; i++) { challenging[stages[i] - 1]++; } let challengers = stages.length; let ratio = []; for (let i = 0; i < N; i++) { ratio.push({..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cuDqzh/btrdz8ZflOr/z7tQmeYnHVawrf9gI0SPs0/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 효율성 체크도 있기 때문에 잘 생각해야 한다. ** Javascript 1) 첫 제출 (정확성 테스트는 통과하나 효율성 테스트에서 실패) function solution(n) { let count = 0; for (let i = 2; i
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cPZ1Bf/btrc2pzKeiB/txDK59H2MB0kW9mmCkeUx1/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript function solution(seoul) { return `김서방은 ${seoul.indexOf("Kim")}에 있다`; } 노마드코더가 알려준 sexy javascript backticks 사용! ** Python 파이썬은 세 가지 방법이 있다. 방법마다 특징이 있다. 1) def solution(seoul): return "김서방은 " + str(seoul.index("Kim")) + "에 있다" - 속도가 가장 빠름 - 메모리 가장 적게 차지함 2) def solution(seoul): return ('김서방은 %d에 있다' %seoul.index('Kim..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/7izFR/btrc2KwSXrl/pmyytPRGPxusZAfAP2dh90/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 프로그래머스를 알고 거의 첫번째로 푼 문제가 아닐까 싶다. 그 당시 javascript 메소드 활용을 잘 못하였다. function solution(n) { var answer = ''; for (var i=1; i
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/TE7Ye/btrcStwOmk8/L6yykwgytvzYTSyFvquUvK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 초간단! function solution(s) { return Number(s); } 근데 굳이 Number 쓰지 않고도 숫자 변환을 할 수 있다. function solution(s) { return parseInt(s); } function solution(s) { return s * 1; } function solution(s) { return +s; } function solution(s) { return s / 1; } 네 가지 풀이 중에서는 +s 를 사용하는 게 가장 빠르다. ** Python def solution(s): return int(s) ** ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/JI4Mq/btrb78sJruy/POZxTdF2NMZsm9Jt3Im5F1/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript const re = /[0-9]/ // (필요없음) function solution(s) { let words = s.split(" "); for (let i = 0; i < words.length; i++) { words[i] = words[i].charAt(0).toUpperCase() + words[i].substr(1).toLowerCase(); } return words.join(" "); } 글자를 띄어쓰기대로 나누고 글자의 첫 character만 대문자로 바꾸고 나머지(인덱스 1부터 나머지 character)는 소문자로 바꾼 뒤 붙인다. 구글링해서 Ja..