프로그래머스 '가장 큰 정사각형 찾기' 문제 풀이입니다. 문제 링크 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr ● 문제 간단 설명 주어진 2차원 배열에 대해서 4개의 영역으로 나누었을 때 한 영역 내부에 요소가 모두 1이거나 0일 경우 그 영역을 1이나 0으로 치환한다. 4개의 영역의 크기가 1이 될 때까지 나누는 과정과 치환하는 과정을 반복한다고 할 때 반복이 모두 끝났을 때 0과 1의 개수를 구하는 문제. ● 문제 해결 방향 우선 무작정 완전 탐색을 활용할 수 밖에 없었다. row, col 의 길이중 짧은 길이를 maxLength로 두고 점점 사이즈를 줄여나가면서 row, col에서 직사각형..
프로그래머스 '정수 삼각형' 문제 풀이입니다. 문제 링크 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr ● 문제 간단 설명 피라미드 모양으로 제시된 숫자 문자열이 있다. 가장 꼭대기에서부터 바닥으로 내려오는 경로 중에서 거쳐간 숫자의 합이 가장 큰 경로를 구하는 문제이다. ● 문제 해결 방향 다음 행에 대한 경로를 모두 구하도록 하고, 마지막 경로까지 갔을 때 합을 담고 있는 배열의 최댓값을 return 해주었다. 처음에는 다음 경로로 이동할 때 합이 가장 큰 곳으로만 이동하여 다른 경로에 대한 합을 구하지 않고 해결하려고 했다. 하지만 다음 경로로 이동할 때 두 경로의 값이 동일하..
● 문제 링크 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr ● 문제 설명 문제 설명이 길어서 위 문제 링크로 확인 부탁드립니다! ● 문제 해결 방향 초반에는 이중 배열로 되어있어 행과 열을 서로 바꾸어 주는 방법도 생각했지만 이번 문제의 경우 바꾸어 주지 않아도 충분히 해결 가능해 보였습니다. 크레인이 내려가는 열에 대해서 0이 아닌 숫자를 만날 때까지 반복하고 basket 배열의 마지막 값과 비교하여 적절한 연산을 해주었습니다. ● 문제 해결 코드 def solution(board, moves): answer = 0 basket ..
● 문제 링크 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr ● 문제 설명 ● 문제 해결 방향 처음 접근은 while을 계속 돌리면서 변화하는 자리 수가 2 이하일 때 break를 거는 방식으로 코드를 짰지만 테스트 과정에서 시간초과가 많이 걸려 다음과 같은 규칙을 사용했습니다. 한자리만 바뀌는 경우 : 짝수인 경우 --> 2**0 자리 0을 1로 바꿈 두 자리가 바뀌는 경우 : 홀수인 경우 --> 가장 낮은 자리의 수를 1로 바꾸고, [index + 1]에 해당하는 숫자를 0으로 바꿈 ● 문제 해결 코드 def solution(numbers): answer = [] for n in numbers : if n == 0 : answer.append(1) continue bin_..
문제 링크 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr ● 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 ..
안녕하세요 프로그래머스 피보나치 수 문제풀이입니다 문제는 아래의 링크를 참고해주세요. programmers.co.kr/learn/courses/30/lessons/12945 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr ● 문제 간단 설명 주어진 스코빌 지수 리스트 내의 숫자가 모두 일정 수치 이상이 될 때까지 가장 맵지 않은 음식과 ..
각 시점 이후의 가격들과 비교하면서 가격이 떨어지는 시점을 카운트하여 리스트에 저장하고, 이를 출력하는 문제입니다. 저는 for 반복문을 중첩시켜 문제를 풀었습니다. 마지막 시점의 경우에는 항상 0초간 가격이 떨어지지 않기 때문에 예외를 주었습니다. 나머지 시점에서는 1초씩 count를 해주고 이후 시점들과 비교해 가격이 떨어졌을 경우에는 반복문을 빠져나오도록 코딩했습니다! 더 좋은 코딩 방법이나 질문 있으시면 언제든 댓글 달아주세요! 감사합니다!
- Total
- Today
- Yesterday
- redux
- Vuex
- 파이썬
- Repository Pattern
- redux-thunk
- AxiosInterceptor
- TypeScript
- 문제풀이
- python
- 백준
- React
- Vue.js
- js
- Preloading
- Transpiler
- Vue
- SPA
- 상호평가
- SOAP API
- React.memo
- error
- GraphQL
- 프로그래머스
- reactrouter
- v-for
- clean code
- 알고리즘
- programmers
- webpack
- bundler
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |