Problem Solving

Problem Solving/Programmers

[프로그래머스 / Python] 비밀지도 - Level 1

🚩 문제 주소 https://programmers.co.kr/learn/courses/30/lessons/64061 (2021년 12월 30일에 푼 문제입니다.) 📄 접근 방법 구현 더보기 arr1, arr2를 2진수로 변환해서 저장합니다. arr1, arr2 각 원소끼리 비교해서 둘 다 0인 것을 제외하고 1로 바꿔서 새로운 배열에 저장합니다. 1은 #으로 0은 공백으로 바꿔서 출력합니다. 👨‍💻 나의 코드 # arr1, arr2을 2진수로 변환해서 저장하는 함수 def convert(n, arr, result): for i in range(n): result.append(bin(arr[i])) result[i] = result[i][2:] while len(result[i]) != n: result[..

Problem Solving/Programmers

[프로그래머스 / Python] 크레인 인형뽑기 게임 - Level 1

🚩 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/64061 (2021년 12월 30일에 푼 문제입니다.) 📄 접근 방법 그리디 더보기 moves배열 숫자대로 보드의 열을 움직입니다. 그 열에서 0이 아닌 숫자가 나올때까지 내려갑니다. 찾으면 바구니배열에 그 숫자를 저장하고 숫자가 있는 자리는 0으로 바꿔줍니다. 위 과정을 반복합니다. 바구니 배열에 같은 숫자가 저장되면 두 숫자 모두 삭제하고 result+=2 👨‍💻 나의 코드 def solution(board, moves): answer = 0 bucket = [] for i in moves: for j in range(len(board)): if board[j][i-1] != 0: ..

Problem Solving/Programmers

[프로그래머스 / JS] 큰 수 만들기 - Level 2

🚩 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/42883 📄 접근 방법 그리디 더보기 stack 배열을 빈배열로 생성합니다. number 배열을 for...of문으로 순회합니다. k가 0보다 크고 stack배열의 끝 원소가 현재 탐색한 number배열의 원소보다 작다면 stack배열에서 원소를 pop 합니다. ( 큰 숫자를 만들어야 하기 때문에) 숫자를 제거 했으므로 k도 1 감소시켜줍니다. 조건을 만족하지 않는다면 크거나 같다는 것이기 때문에, 숫자를 push합니다. 이 부분은 엣지 케이스인데, number 배열을 전부 순회했는데 k가 남는 경우도 있습니다. 따라서 숫자들이 모아진 stack 배열의 뒤에서 부터 k만큼 지워줍니다...

Problem Solving/LeetCode

[LeetCode / JS] 942. DI String Match - Easy

🚩 문제 주소 942. DI String Match 📄 접근 방법 그리디 더보기 1. 주어진 문자열의 길이 + 1 만큼의 0부터 증가하는 숫자 배열을 생성합니다. 2. 문자열을 순회하는데, 문자열[인덱스]가 I 라면, 만들어 놨던 숫자 배열에서 shift하여 정답배열에 넣어주고, 아니라면 pop하여 정답배열에 넣어줍니다. - I일 경우 최솟값을, D일 경우 최댓값을 넣어주면 된다고 생각했습니다. 3. 숫자 배열에 남은 하나의 원소를 정답배열에 넣어줍니다. 4. 정답배열을 반환합니다. 👨‍💻 나의 코드 var diStringMatch = function(s) { const perm = []; let i = 0; const nums = Array.from({length: s.length+1}, ()=>i++..

애송이개발자
'Problem Solving' 카테고리의 글 목록 (3 Page)