본문 바로가기

programmers10

[Programmers] 정수 삼각형(Python) / Dynamic Programming 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr # 14분 소요 사용 알고리즘 : Dynamic Programming(동적 계획법) (가장 아래 행-1) 행부터 가장 아래 행의 값들을 참고해 더 큰 값을 선택해 더하면서 현 위치 값을 갱신해 올라온다. 가장 상단 행까지 값을 모두 채우면 첫 값(triangle[0][0])을 리턴한다. 파이썬 코드는 다음과 같다. def solution(triangle): for r in range(len(triangle)-2, -1, -1): for c in range(r+1): triangle[r][c] += max(triangle[r+1][c], .. 2021. 5. 3.
[Programmers] 등굣길(Python) / Dynamic Programming 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 사용 알고리즘 : Dynamic Programming(동적 계획법) 맵의 크기보다 행 + 1, 열 + 1 크기만큼 크게 만든다. 시작 위치(1, 1)는 넘어가고, 물 웅덩이(-1) 표시된 부분은 0으로 바꿔줌. 이외의 위치별로 좌, 상 방향의 숫자들을 더하며 끝까지 채운다. 가장 오른쪽 하단의 값(A[n][m])을 주어진 값(100,000,000,007)으로 나눈 나머지를 리턴한다. 파이썬 코드는 다음과 같다. def solution(m, n, pud.. 2021. 5. 3.
[Programmers] 큰 수 만들기(Python) / Greedy programmers.co.kr/learn/courses/30/lessons/42883?language=python3 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 난 개인적으로 어려웠던 문제다. Greedy 알고리즘은 뭔가.. 쉽고도 어려운 알고리즘이다. stack 으로 구현한 Greedy한 풀이.. 어려워서 다른 사람 풀이를 참고했다. stack에 값이 있고, k가 남아있다면 stack의 마지막 값과 현재 value를 비교해 value가 크다면 k를 사용하며 stack의 마지막 값을 빼준다. 앞에서부터 탐색하며 비교해주기 때문에 k를 다 써버린다면 뒷 부분은 사실 그리디하게 풀 수 없기 때문에 최적해가 아닌 경우가 발생할 수 있겠다. 그리디의 약점이 무조건 최적해를 보장하지는 않는.. 2021. 2. 26.
[Programmers] SQL 고득점 Kit - String, Data programmers.co.kr/learn/courses/30/parts/17046 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Programmers 코딩테스트 SQL 고득점 KIT String, Data 루시와 엘라 찾기 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ORDER BY ANIMAL_ID ASC; 이름에 el이 들어가는 동물 찾기 SELECT ANIMAL_ID, .. 2021. 2. 26.
[Programmers] SQL 고득점 Kit - IS NULL programmers.co.kr/learn/courses/30/parts/17045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Programmers 코딩테스트 SQL 고득점 KIT IS NULL 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL; 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC; NULL 처리하기 SELECT ANIMAL_TYPE, IFNULL(NA.. 2021. 2. 26.
[Programmers] SQL 고득점 Kit - GROUP BY programmers.co.kr/learn/courses/30/parts/17044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Programmers 코딩테스트 SQL 고득점 KIT GROUP BY 고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(*) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; 동명 동물 수 찾기 SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP .. 2021. 2. 26.