안녕, 자료구조 & 알고리즘! 자료구조 문자열, 리스트, 사전, 순서쌍(튜플), 집합 등의 자료형이 존재하는데 "자료구조"는 왜 알아야 하는가? 리스트와 max 함수를 활용해서 최댓값을 찾아내는데, 원소의 개수에 비례하여 실행시간이 증가 무작위의 숫자가 주어졌을 때, 최댓값을 빠르게 얻을 수 있도록 하는 특정 자료구조가 존재 어떤 문제를 해결할 것인가에 따라 적절한 자료구조가 달라짐 알고리즘 사전적 정의 : 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합 프로그래밍 : 주어진 문제의 해결을 위한 자료구조와 연산 방법에 대한 선택 해결하고자 하는 문제에 따라 최적의 해결 방법이 달라지며, 방법을 선택하기 위해 자료구조 이해가 필요 선형배열(Linear Array) 배열 : 원소들을 순서대로 늘어놓..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해2차원 행렬 arr1과 arr2를 입력받아 행렬곱을 수행하여 반환곱할 수 있는 배열만 주어짐풀이arr1의 한 행과 arr2의 한 행을 행렬곱 연산하여 tmp에 append 및 하나의 행이 완성되면 arr3에 append행렬곱 풀이는 글로 설명해서는 이해가 잘 안될 것 같다... (행렬곱에 대해 잘 모른다면 아래 링크 참고)삼중 반복문을 활용 - (1) arr1의 행 수만큼 반복, (2) arr2의 열 수만큼 반복, (3) arr1의 열 수만큼 반복행렬곱이 된 수들을 저장할 배열 tmp, 행렬곱 연산 ..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 한 번호가 다른 번호의 접두어인 경우가 있는지 확인 전화번호를 담은 배열 phone_book 어떤 번호가 다른 번호의 접두어인 경우 False, 그렇지 않다면 True 반환 풀이 배열 phone_book을 모두 확인하여 접두어가 있으면 False, 접두어가 없다면 True 반환 배열 phone_book의 길이는 최대 1,000,000이므로 시간 초과에 유의 => 연산 횟수를 줄이기 위해 배열과 문자열의 길이를 변수를 통해 저장 및 조건문 추가 sort 메소드를 통해 phone_book을 정렬 ..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 각 기능은 진도가 100%일 때 서비스에 반영 가능 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses, 개발 속도가 적힌 정수 배열 speeds 배포는 하루에 한 번씩 이뤄지며, 뒤의 기능이 먼저 개발돼도 앞의 기능이 개발돼야 함께 배포 가능 각 배포마다 몇 개의 기능이 배포되는지 반환 풀이 progresses와 speeds를 활용해 각 기능의 배포 날짜를 구하고, 각 배포마다 몇 개의 기능이 배포되는지 확인 각 기능의 배포 날짜를 저장하기 위한 배열 day, 배..