일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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-toolkit
- java
- 항해플러스
- Get
- axios
- json-server
- react
- Algorithm
- react-router
- programmers
- 프로그래머스
- 코딩테스트합격자되기
- sw expert academy
- 자바
- useDispatch
- 항해99
- redux
- react-redux
- JavaScript
- SW
- redux-saga
- maeil-mail
- 이코테
- 테코테코
- Python
- 리액트
- createSlice
- C++
- 알고리즘
- Today
- Total
목록프로그래머스 (113)
Binary Journey
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Hr9fl/btrai6YPD32/oMULRmWJCPJvFMmOy9xgEk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 나의 첫번째 풀이는 이렇다. function solution(phone_number) { if (phone_number.length === 4) { return phone_number; } else { const numbers = phone_number.replace(/(\d)(\d{4}$)/, "$1-$2").split("-"); let mask = ""; for (var i=0; i (index < phone_number.length - 4) ? acc + "*" : acc + curr, ""); } 3) map 과 join 을 이용해도 된다. functi..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bpoQtS/btraiagcChX/lGnovJBhUFk6KfZG8HNmTK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 행렬의 덧셈은 행의 개수와 열의 개수가 같은 것끼리만 가능하다. ** Javascript 나의 풀이는 이렇다. function solution(arr1, arr2) { return arr1.map((col, idx1) => col.map((row, idx2) => row + arr2[idx1][idx2])); } 당시 javascript 의 다양한 기능들을 몰라서 map만 이용하여 이렇게 풀었다. 그런데 나 말고 다른 사람들도 생각이 비슷했던 것 같다. 근데 정확히는 col 과 row 위치가 바뀌어야 한다 ㅎㅎ ** Java 나의 풀이는 이렇다. class Solution { public ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/d3u67y/btq98uZ7OJi/KYZW5VxWvCOd5TYSHVYfkk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 문제는 이렇다. ** Javascript 내 풀이는 이렇다. function solution(n) { const sqrt = Math.sqrt(n) % 1 === 0 ? Math.sqrt(n) : -1; return sqrt === -1 ? sqrt : Math.pow(sqrt + 1, 2); } 사실 온전한 내 실력으로 풀지는 않았고 루트를 씌웠을 때 결과값이 정수인지 아닌지 가리는 방법을 갓택오버플로우에서 찾았다. https://stackoverflow.com/questions/30919111/whats-the-best-way-in-javascript-to-test-if-a-given-..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/chJ7tw/btrac881Qvl/2Tz0bbSNvluHyCt5v2KPXk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 문제의 규칙(?)은 이러하다. ** Javascript 씐난다. 이번에도 풀고 나서 엄청 뿌듯했다. 댓글 달린 날짜들 보니까 대부분 7월 초-중순이다. 2021 카카오 문제인 것만 알았는데 생각보다 올라온 지 얼마 안 된 문제였나 보다. 내 풀이는 이렇다. function solution(s) { const numbers = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" ]; for (const number of numbers) { s = s.replace(new RegExp(`${number..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uScOA/btraeuwUmyQ/BOHczXfwlkl63rCPSsiVPK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 문제는 이렇다. ** Javascript javascript 의 sort 와 reverse 함수를 아직 제대로 이해하지 못해서 내 코드는 상대적으로 긴 편이다. sort 와 reverse 는 기본적으로 문자열을 정렬해준다. 그런데 대소문자까지 가려줄 줄은 생각도 못했다. 다른 사람들의 풀이를 보면 sort 는 기본적으로 대문자-알파벳순>소문자-알파벳순 이렇게 정렬해주고 reverse 는 문자 그대로 뒤집어주는 것 같다. 나의 풀이다. function solution(s) { let lowerCaseArr = Array .from(s) .filter((str) => str === str.to..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/btSw7Q/btradSLyXs5/iqn5NlsOLHOkGqGjxYhc3K/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 문제는 이렇다. ** Javascript function solution(strings, n) { return strings.sort((a, b) => a[n].localeCompare(b[n]) || a.localeCompare(b)); } 문제 풀다보면 javascript 능력자들의 코드들을 볼 수 있는데 드디어 나도!!! 한 줄의 간지를 드디어 해봤다! 다른 사람 풀이 중에 내 풀이랑 같은 건 아직 없는 것 같다! ^_____________________________^ localeCompare 도 이번에 처음 알았다. String.prototype.localeCompare() The..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 등차수열 문제였다. ** Java 1) 이건 내 첫번째 풀이였다. class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; for (int i = 0; i < n; i++) { answer[i] = Long.valueOf(x) + Long.valueOf(x) * Long.valueOf(i); } return answer; } } 위 소스를 보면 자료형 때문에 Long.valueOf 을 쓴 걸 볼 수 있는데 애초에 input 을 long 으로 받으면 될 문제였다. 2) 그래서 수정한 풀이는 이렇게 ..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Java Java로는 다음과 같이 작성하였다. import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); for (int i = 0; i < b; i++) { for (int j = 0; j < a; j++) { System.out.printf("*"); } System.out.println(); } } } 대략 1800명이 같은 풀이로 통..
https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges [숫자들], [Boolean들] 을 받았을 때 Boolean 배열이 true 이면 더하고 false이면 빼는 제목 그대로 음양 더하기이다. reduce를 사용할까 했는데 그냥 for문을 돌렸다. function solutio..
https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 문제를 보면 1. 2진법으로 변환된 숫자가 String으로 제시된다. 2. 제시된 String에서 "0"을 제거한다. 3. "0"을 제거하고 남은 String의 길이를 2진법으로 변환된 String으로 바꿔준다. 4. 2진법 변환된 수가 "1" 보다 크면 계속 반복한다. 5. 0이 제거된 횟수와 제거된 0의 개수를 [횟수, 갯수] 형태로 return 한다. 내 식은 이렇다. function solution(s) { le..