일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Flutter
- React-hook-form
- Vanilla JavaScript
- React.memo
- typescript
- interaction test
- react
- TextFormField
- Github Actions
- locale data
- visual test
- next.js
- 사탕게임
- 리팩토링
- useMemo
- 이메일 인증
- suffixicon
- 프로그래머스
- 피보나치 함수
- Python
- kakao blind recruitment
- custom hook
- javascript
- Props Drilling
- 백준
- storybook
- context api
- ZOD
- useEffect
- next-auth
- Today
- Total
목록프로그래머스 (5)
Dev Diary
문제 풀이function solution(today, terms, privacies) { var answer = []; // 오늘 날짜를 년,월,일로 나눠서 저장 const todayYear=+today.slice(0,4); const todayMonth=+today.slice(5,7); const todayDay=+today.slice(8,10); // 약관 종류와 유효기간 저장 const termsMap={} for (const term of terms){ key=term.split(" ")[0]; value=term.split(" ")[1]; termsMap[key]=+value } // 유효기간 더한 날짜를..
문제 이해1등 -> 6개 일치2등 -> 5개 일치3등 -> 4개 일치4등 -> 3개 일치5등 -> 2개 일치6등 -> 그 외 위에 주어진 등수와 등수를 결정하는 조건을 바탕으로 미리 ranks라는 배열에 저장해두고 시작한다.ex) ranks[맞은 번호의 개수] = 등수 민우가 적은 숫자 중에서 win_nums에 있는 숫자는 확정된 숫자이므로 decidedRank 변수에 +1을 해주고 값이 0인 부분에는 아무 숫자나 넣을 수 있으므로 최고 순위인 경우에는 0인 부분이 모두 win_num에 있는 숫자와 일치할 것이고 최저 순위인 경우에는 전부 일치하지 않는 경우이므로 결과적으로최고 순위: ranks[decidedRank+zeroCount]최저 순위: ranks[decidedRank]를 출력한다. 문제 풀이f..
프로그래머스 2018 KAKAO BLIND RECRUITMENT - [1차] 비밀지도 문제 이해하기지도1, 지도2가 주어지고 이 두 지도를 합쳐서 전체 지도를 얻을 수 있다.대신, 주어지는 값은 [1,0,1,1,0] 이런식으로 주어지는 것이 아니고 9, 20과 같은 10진수로 주어진다.따라서 이를 이진수로 변환하여 지도 배열을 생성해야한다.생성할때 주의할 점은 각 행의 길이를 동일하게 맞춰줘야 한다는 것이다. -> 패딩 함수를 구현한다.두 지도를 합칠때는 or 연산을 사용해 하나라도 1이면 1로 지정한다.합쳤을때 값이 1인 칸의 경우와 아닌 경우를 삼항연산자로 판단하여 '#' 혹은 ' '로 변환한다.앞선 과정을 거쳐 나온 값을 출력에 알맞게 가공해 최종 결과를 도출한다. function solution(..
프로그래머스 LEVEL 1 - 자릿수 더하기문제 이해하기각 자릿수의 합을 구해야함으로 숫자 하나하나를 슬라이싱해야한다고 생각했다. 하지만 어떻게 슬라이싱 해야할지 방법이 떠오르지 않았다.그래서 먼저 입력받은 값 n을 10으로 나눈 나머지를 answer 변수에 더하고 그 이후 계속 n / 10을 수행해 n의 자릿수를 줄여가며 계산을 수행했다. n / 10을 해줌으로써 n의 변화: 123 -> 12 -> 1 function solution(n) { var answer = 0; while (n > 0) { answer += n % 10 n = parseInt(n / 10) } return answer;} 더 쉬운 풀이방법문제를 풀기 전에 어떻게 슬라이싱할지 몰라서..
프로그래머스 LEVEL 1 - 달리기 경주문제 이해하기players와 callings 배열이 주어진다.players: 1등부터 현재 등수 순서대로 담긴 문자열 배열callings: 달리기 경주 도중 추월"한" 사람들의 이름이 들어있는 문자열 배열 문제를 보고 가장 먼저 든 생각은 callings 배열을 순회하면서 각 요소들의 index 값을 players 배열에서 찾은 뒤 splice를 이용해 바로 앞 위치에 해당 요소를 넣어주고 기존 위치의 값은 삭제하면서 players 배열을 갱신해주는 방식을 사용해야겠다는 생각이였다. (이 생각 덕분에 열릴 지옥같은 미래는 생각도 못한채...) 아래와 같은 망한(?) 코드를 작성했다.function solution(players, callings) { for ..