일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트합격자되기
- Python
- 리액트
- Get
- 매일메일
- C++
- json-server
- 항해플러스
- JavaScript
- 알고리즘
- 테코테코
- maeil-mail
- 자바
- createSlice
- 프로그래머스
- axios
- react
- 이코테
- 항해99
- redux-saga
- useDispatch
- sw expert academy
- react-redux
- SW
- java
- programmers
- redux
- Algorithm
- react-router
- redux-toolkit
- Today
- Total
목록프로그래머스/level 1 (58)
Binary Journey
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FTR4I/btrcNJz0sPw/A7DKr6oQBUrIkLPqBkF3Kk/img.png)
(월요일 11시 예약 발행..!) 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) function solution(table, languages, preference) { const data = table.reduce((obj, row) => { let sources = row.split(" "); const dept = sources.shift(); obj[dept] = obj[dept] || ["", ...sources.reverse()]; return obj; }, {}); let sumArr = []; for (const scores of Object.values(data)) { let sum = 0..
![](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/zQ0za/btrb6Twp1Vy/H1BbZOw1k1nyYTHIQ828bk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 처음에 제출했던 풀이 function solution(n) { let answer = 0; for (let i = 1; i (n % (index + 1)) ? 0 : index + 1) .reduce((acc, curr) => acc += curr, 0); } function solution(n) { return new Array(n).fill(0) .reduce((acc, curr, index) => acc += (n % (index + 1)) ? 0 : index + 1, 0); } 하지만 for 문 돌리는 게 가장 빠르다. 풀이 중 추천 1등은 재귀의 신..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/p5npk/btrb6TJVt72/6y8QyPmUnZvVHCEywtRYRk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 맨 처음 제출한 풀이는 이랬다. 프로그래머스 접한 지 얼마 안돼서 푼 문제여서 혼자 되게 뿌듯했던 기억이 있다 지금 보면 약간 흑역사지만 function solution(s) { var [ ...strings ] = s.split(" "); var answers = []; for (var string of strings) { var temp = ""; for (var i=0; i Array.from(word).reduce((acc, curr, index) => acc += (index % 2) ? curr.toLowerCase() : curr.toUpperCa..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dSfEAz/btrb3mZKN4c/pCGOV1BxXYG2Qkr6vy65gk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 맨 처음 제출한 코드는 이렇다. function solution(n) { let answer = 0; const string = `${n}`; for (var i=0; i acc += parseInt(curr), 0); } 3) 숫자 n 을 string 으로 만들지 않는 풀이는 다음과 같다. function solution(n) { let answer = 0; while(n > 0) { answer += n % 10; n = Math.floor(n / 10); } return answer; } ** Java 1) 숫자로만 자릿수를 구해서 합산하는 방법 impo..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cyGuDB/btrb7bDwivP/3n4mOfS5Yf9UCGycK0SYbK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 입력 값으로는 본인이 매긴 점수들이 들어오는데 본인이 받은 점수로 평균을 내야 하기 때문에 우선 row 와 column의 위치를 바꿔야 했다. 바뀐 식에서 인덱스가 (i, i)이고 유일한 max 혹은 min 값일 경우 filter가 되어야 했는데 다른 풀이를 보면 splice를 하면 됐지만 나는 그렇게 까지는 생각을 못하고 0으로 바꿔줬다. 그리고 0으로 바뀐 값들을 제외시켰다. function solution(_scores) { const scores = _scores .map((row, i) => row.map((col, j) => _scores[j][i])) ..