정리/알고리즘

https://school.programmers.co.kr/learn/courses/30/lessons/43238# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 및 풀이 ''' 풀이 1. 시간초과 그냥 직접 줄을 세워보는 식으로 코드를 짜보았다. 0. 각 심사대별로 누적 시간을 저장하는 리스트(all_times)를 만든다. 1. for문으로 한 명씩 심사대에 들어가는 처리를 한다. 2. 그 다음 for문으로는 심사대 별로 넣었을 때, 누적 시간 중에 가장 큰 값이 총 걸리는 시간일 것이므로 이것이 최소인 경우의 수를 result로 뽑는다. 3..
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/12953 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 - arr은 길이 1이상, 15이하인 배열입니다. - arr의 원소는 100 이하인 자연수입니다. 문제 이해 - 처음에는 지수를 활용한 풀이로 풀었다. 참고..
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/12949 문제설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 문제 이해 겉으로 보기에는 간단한, 행렬곱을 코딩하는 문제이다. 행렬 곱을 표현하면 다음과 같다. (m, k)의 A 행렬과 (k, n)의 B 행렬을 곱했을 때 A행렬의 i행과 B행렬의 j열의 성분을 각각 곱하고, 이를 모두 더한 값이 AxB 행렬의..
[문제링크] https://school.programmers.co.kr/learn/courses/30/lessons/12946 문제 설명 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다. 한 번에 하나의 원판만 옮길 수 있습니다. 큰 원판이 작은 원판 위에 있어서는 안됩니다. 하노이 탑의 세 개의 기둥을 왼쪽 부터 1번, 2번, 3번이라고 하겠습니다. 1번에는 n개의 원판이 있고 이 n개의 원판을 3번..
원래 나는 코딩테스트를 따로 포스팅하지 않았다. 이유는, 알고리즘 효율을 따져야 하나 싶기도 했다. 요즘 컴퓨터 성능이 워낙 좋아서 딱히 알고리즘 효율을 생각 안해도 된다는 말을 들어서 그렇기도 했다. 원래 코테 공부의 용도는 네이버 부스트캠프에 들어가려고, 구현 연습 및 알고리즘 암기 정도로 생각하고 있었다. 그런데, 1. 이번에 라이브 코딩 테스트를 보면서, 어려운 문제를 푸는 것 보다는 평이한 문제라도 문제 해결 과정 및 코드를 설명하는 능력이 중요하다고 느꼈다. 그도 그럴게, 프로그래밍은 혼자하는 것이 아니고 남들과 코드를 공유해야 하는 분야이기 때문이다. 공유를 하면 당연히 남들에게 내 코드의 알고리즘도 잘 설명해야겠지? 지금까지의 공부 방식은 이러한 능력 향상에 도움이 1도 되지 않는다고 생각..
미스따문
'정리/알고리즘' 카테고리의 글 목록