알고리즘 연습/프로그래머스

알고리즘 연습/프로그래머스

[Python - Lv.3] 정수 삼각형

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾음아래로 이동할 때는 대각선 오른쪽/왼쪽 한 칸으로만 이동 가능배열 triangle이 주어질 때, 최댓값을 반환하도록 작성풀이 (1)배열 triangle을 len(triangle) - 2(마지막에서 한 칸 위)부터 역으로 순회하여 수를 더함대각선 한 칸 아래 오른쪽/왼쪽 중에 더했을 때, 더 큰 값을 해당 칸에 대입코드 문제에 제공된 예로 순서를 설명하면, [2, 7, 4, 4]가 나타난 행부터 순회를 시작한다. 그리고 2+..

알고리즘 연습/프로그래머스

[Python - Lv.3] 이중우선순위큐

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조I 숫자 : 큐에 주어진 숫자 삽입D 1 : 큐에서 최댓값 삭제D -1 : 큐에서 최솟값 삭제연산 operations을 처리한 뒤 큐가 비어있으면 [0, 0], 비어있지 않으면 [최댓값, 최솟값] 반환빈 큐에 데이터를 삭제하라는 연산일 경우 해당 연산 무시풀이 (1)operations의 입력에 맞게 조건문을 작성하여 index, max, min, pop 메서드를 활용하여 해결시간 복잡도가 O(n)인 메소드들을 마구잡이로 섞어서 시간 초과가 나올 것이..

알고리즘 연습/프로그래머스

[Python - Lv.2] 행렬의 곱셈

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해2차원 행렬 arr1과 arr2를 입력받아 행렬곱을 수행하여 반환곱할 수 있는 배열만 주어짐풀이arr1의 한 행과 arr2의 한 행을 행렬곱 연산하여 tmp에 append 및 하나의 행이 완성되면 arr3에 append행렬곱 풀이는 글로 설명해서는 이해가 잘 안될 것 같다... (행렬곱에 대해 잘 모른다면 아래 링크 참고)삼중 반복문을 활용 - (1) arr1의 행 수만큼 반복, (2) arr2의 열 수만큼 반복, (3) arr1의 열 수만큼 반복행렬곱이 된 수들을 저장할 배열 tmp, 행렬곱 연산 ..

알고리즘 연습/프로그래머스

[Python - Lv.2] 전화번호 목록

문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 한 번호가 다른 번호의 접두어인 경우가 있는지 확인 전화번호를 담은 배열 phone_book 어떤 번호가 다른 번호의 접두어인 경우 False, 그렇지 않다면 True 반환 풀이 배열 phone_book을 모두 확인하여 접두어가 있으면 False, 접두어가 없다면 True 반환 배열 phone_book의 길이는 최대 1,000,000이므로 시간 초과에 유의 => 연산 횟수를 줄이기 위해 배열과 문자열의 길이를 변수를 통해 저장 및 조건문 추가 sort 메소드를 통해 phone_book을 정렬 ..

기억에 남는 블로그 닉네임
'알고리즘 연습/프로그래머스' 카테고리의 글 목록