프로그래머스117 가장 큰 정사각형 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 반복문을 여러번 사용하여 n^3 이상의 시간복잡도로 접근해 풀이하게 될 경우 시간 초과가 나기에 dp를 활용해서 풀이해야 한다. 점화식을 사용할 때 인덱스 오류를 방지하기 위해 정사각형의 변의 크기를 저장할 이차원 배열의 각 행렬의 크기를 한 사이즈 크게 초기화해 준다. 정사각형의 변의 크기를 재기 위해 board의 왼쪽, 위쪽 테두리만큼을 제외한 오른쪽 하단 꼭짓점 부분을 기준으로 하는.. 2024. 3. 24. 하노이의 탑 https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 작은 순서부터 우선 이동할 수 있게끔 해야 하므로 재귀적인 방법으로 풀이가 가능하다. 원판은 항상 크기가 큰 순서부터 쌓아야 한다. 각 원판은 중간 기둥을 지나서 목표 위치에 도달해야 한다. 또한 n이 홀수라면 첫 이동시 1의 크기의 원판은 끝 기둥으로 이동해야 하며 짝수라면 중간 기둥으로 이동해야 한다. 재귀의 최대 깊이 즉 원소의 값이 가장 작은 값을 우선적으로 계산하기 위해 3개의 .. 2024. 3. 23. 리코쳇 로봇 https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 최소 값을 찾는 문제이기 때문에 bfs를 활용할 수 있다. 문자열은 불변한 객체이기 때문에 방문을 기록하기 위해 board의 문자열을 배열로 초기화해 주며 시작 위치인 R의 좌표에서부터 탐색을 시작한다. 계속 미끄러져 이동해야 하기 때문에 기존 좌표를 임시 변수에 저장하여 벽에 닿을 때까지 위치를 갱신하며 탐색한다. 이때 골인 지점은 방문처리에서 제외한다. 벽에 닿았다면 벽에 부딪힌 위.. 2024. 3. 22. 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 조합을 구하는 경우는 다항 시간복잡도를 가지게 된다. 따라서 다항식을 적용하여 풀이할 수 있다. 최소 하나의 옷을 입는 경우에 대해 계산할 수 있도록 answer는 1로 초기화한다. 옷을 종류별로 구분 지어준 뒤 옷의 조합을 구해준다. 이때 해당 크기의 + 1을 해서 해당 종류의 옷을 입지 않는 경우도 고려해 준다. 모든 종류의 옷을 입지 않는 경우를 고려해 answer에 -1을 해준다.. 2024. 3. 20. 쿼드압축 후 개수 세기 https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 분할 정복 문제이다. 초기 배열의 각 원소들을 카운트 한 다음 압축 결과에 따라 해당 키 값을 감소시키는 방법으로 풀이를 진행했다. 이차원 배열을 4 등분한 결과를 sub에 저장하여 새로운 배열을 만든다. 이때 각 배열은 이차원 배열을 슬라이스 한 결과를 반환하기 때문에 sub는 삼차원 배열이 된다. 새로 생성한 삼차원 배열을 반복하면서 요소들이 전부 같은 숫자로 이루어져 있는지 확인하고.. 2024. 3. 20. 거리두기 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 solution 함수에서 현재 place의 P를 찾는다. 해당지점은 r1, c1의 되며 해당 지점 위치를 기준으로 다음 지점을 찾는다. 이때 P의 위치는 r2, c2가 된다. is_valid 함수에서 지점 A의 행부터 시작하여 해당 지점을 제외한 모든 열을 탐색한다. 이때 x 이전의 행렬들은 미리 확인한 영역이므로 계산하지 않는다. is_valid 함수에서 |r1 - r2| + |c1 -.. 2024. 3. 19. 이전 1 2 3 4 ··· 20 다음