일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- react-redux
- programmers
- 자바
- SW
- java
- json-server
- redux-saga
- C++
- redux
- 테코테코
- 이코테
- redux-toolkit
- 코딩테스트합격자되기
- createSlice
- react
- 리액트
- maeil-mail
- 매일메일
- 알고리즘
- useDispatch
- axios
- JavaScript
- Get
- Python
- 프로그래머스
- Algorithm
- sw expert academy
- 항해99
- react-router
- 항해플러스
- Today
- Total
목록프로그래머스 (113)
Binary Journey
function solution(id_list, report, k) { let members = {}; for (const r of report) { const [ reporter, reportee ] = r.split(" "); if (members[reportee]) { if (!members[reportee][1].includes(reporter)) { members[reportee][0]++; members[reportee][1].push(reporter); members[reportee][1] = [ ...new Set(members[reportee][1])]; } } else { members[reportee] = [1, [reporter]]; } } let answer = new Array(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/p2UJW/btrq6N1XSy6/LbQyKA9KyiXMjsKKm6DCIK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python Christopher 님의 도움을 받음 def solution(skill, skill_trees): answer = 0 for skill_tree in skill_trees: skill_t = [ s for s in skill_tree if s in skill] skt = ''.join(skill_t) if skill.find(skt) == 0: answer += 1 return answer
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Hqmc9/btrq7TUL2Q2/wmipGrg50WSOUR2Cx90j1k/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 월간코드챌린지 때 효율성에서 막혀서 결국 못 풀었는데 풀이 보고 너무나도 간단해서 놀랐다. 1차원 배열을 n 으로 나눈 몫, 나머지에서 max 값만 구하면 되다니.. ** python def solution(n, left, right): answer = [] for i in range(left, right + 1): answer.append(max(divmod(i, n)) + 1) return answer 참고: https://sangsangss.tistory.com/197 [프로그래머스] n^2 배열 자르기 https://programmers.co.kr/learn/courses/30/le..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pyQoT/btrpPUU7wMH/OqXqtYcKgsBfnqUukhbueK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python 코드 실행에서는 통과됐는데 채점에서 35퍼 나와서 뭐가 문제인가 했는데 질문하기에 방향성이 없어야 한다는 말에 깨달음 (1,1) -> (0,1) 이랑 (0,1) -> (1,1) 은 같은 길을 갔으므로 카운트 되면 안됨 def solution(dirs): answer = 0 loc = [0, 0] strd = {'U': (0, 1), 'D': (0, -1), 'R': (1, 0), 'L': (-1, 0)} visited = set() for d in dirs: old_x = loc[0] old_y = loc[1] new_x = loc[0] + strd[d][0] new_y ..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python 1) 1차 시도 (실패 73.3/100) from datetime import timedelta def replace_melody(melody): return melody\ .replace('C#', 'Z')\ .replace('D#', 'Y')\ .replace('F#', 'X')\ .replace('G#', 'W')\ .replace('A#', 'V') def cal_time_diff(start, end): start_hour, start_min = map(int, start.split(":")) start_time = timedelta(hours=start_hour,..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/brCP9F/btro7gMbwYU/Hpj6HdPBxV0RuoMCd6zz21/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges import re def solution(files): reg = [re.split(r'(\d+)', s) for s in files] reg.sort(key = lambda x: (x[0].lower(), int(x[1]))) return [''.join(s) for s in reg] 참고: https://velog.io/@sem/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-LEVEL2-%ED%8C%8C%EC%9D%BC%EB%AA%85-%EC%A0%95%EB%A0%AC-Python [프로그래머스] LEVEL2 파일명 정렬 (Python..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lMbCK/btroXMSmk7o/UoVDKKVZlKSoKSV6xraY11/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(board): for i in range(1, len(board)): for j in range(1, len(board[i])): if board[i][j] == 1: board[i][j] = min(board[i-1][j-1], board[i-1][j], board[i][j-1]) + 1 # print(board) answer = 0 for b in board: lmax = max(b) answer = max(answer, lmax) return answer**2 참고: https://velog.io/@ju_h2/Python-%ED%94%84%EB%A1%9C%EA%..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/d0CExP/btrpcOH5ZpY/ijgE9B6IK8zjEyAXk5wnD0/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def solution(people, limit): answer = 0 people.sort() start, end = 0, len(people) - 1 while start
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def n_decimal(n, q): base = "0123456789ABCDEF" # 나올 수 있는 값 n, mod = divmod(n, q) if n == 0: return base[mod] return n_decimal(n, q) + base[mod] # 나머지 index를 이용하여 string 더하기 def solution(n, t, m, p): answer = '' temp = '' for i in range(m * t): # 나올 수 있는 모든 string 개수 = m 명 * t 개 temp += n_decimal(i, n) while len(answer) < ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dx5Jag/btrnfAlIZKw/1O3tVkOH9G9agHKmJTrGnK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def solution(n): answer = n while(True): answer += 1 if str(bin(answer)).count("1") == str(bin(n)).count("1"): break return answer * bin은 2진수로 바꿔주는 함수다. ** Javascript function solution(n) { let answer = n while (true) { answer++ if ((answer.toString(2).match(/1/g) || []).length === (n.toString(2).match(/1/g) || []).length..