본문 바로가기

코딩 테스트 연습/프로그래머스8

[Python]Programmers 의상(lv2) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 옷의 이름과 종류 담겨있는 2차원 배열이 주어진다. 각 종류별로 최대 1가지 의상만 착용할 수 있을 때, 서로 다른 옷의 조합의 수는 얼마일까? 아무것도 안입을 수는 없다. 2. 풀이 간단하게 갈 수 있었는데 또 이상한 방식으로 풀이하려다 피봤다. 이항계수 * 각 종류별 옷의 개수 를 이용했는데 중복을 제거할 방법을 찾지 못해 포기했다. 의상의 종류를 key로 하는 딕셔너리를 만드는 것.. 2024. 3. 19.
[Python]Programmers 행렬의 곱셈(lv2) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 행렬이 주어줄 때 행렬의 곱을 출력하는 문제이다. 2. 풀이 문제를 풀이하기 전에 행렬의 곱에 대해 알아보자. https://namu.wiki/w/%ED%96%89%EB%A0%AC%EA%B3%B1 행렬곱 Matrix Multiplication 행렬 의 곱셈은 여타 행렬의 연산과 같이 '크기가 맞는' 경우에만 정의되는데 namu.wiki 우선 정답이 담길 배열을 0으로 초기화 해주자... 2024. 3. 18.
[Python]Programmers H-Index(lv2) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어떤 과학자가 발표한 논문 n 편중, h번 이상 인용된 논문이 h편 이상이고, 나머지 논문이 h번 이하로 인용되었을때 h의 최대값이 과학자의 H-Index가 된다. 어떤 과학자가 발표한 논문 n편의 인용 횟수가 담겨있는 배열 citations가 주어진다. 이 과학자의 H-Index는 얼마일까? 2. 풀이 고생해서 풀었는데 엄청 간단한 풀이가 있다는 것을 알게되어 허무했다. 나는 문제에 .. 2024. 3. 17.
[Python]Programmers 할인 행사(lv2) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위의 애니메이션과 같은 규칙이 적용되어 있는 n x n 배열의 각행을 떼어서 n x n 길이의 1차원 배열로 만들었을 때 left부터 right사이의 값을 구하는 문제이다. 2. 풀이 index 0 1 2 0 1 2 3 1 2 2 3 2 3 3 3 위 n x n 배열의 각 행을 떼어서 1차원 배열로 나타내면 다음과 같다. index 0 (0,0) 1 (0,1) 2 (0,2) 3 (1,0.. 2024. 3. 16.
[Python]Programmers 할인 행사(lv2) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 필요한 물건의 배열이 주어지고, 각 물건이 필요한 개수가 담겨있는 배열이 주어진다. 할인하는 품목이 담겨있는 배열이 주어질 때 연속하는 10일동안 필요한 물건을 모두 할인받고 구매할 수 있는 경우의 수가 몇 개 있는지 구하는 문제이다. 2. 풀이 사야하는 물건의 종류와 개수가 각각의 배열로 주어진다. 그렇기 때문에 우선 물건의 종류와 개수를 매칭시켜야 한다. 나는 dict 자료구조를 .. 2024. 3. 14.
[Python]Programmers 연속 부분 수열 합의 개수(lv2) 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 원형 수열의 원소가 주어질 때, 연속된 부분 수열의 합으로 만들 수 있는 수의 개수를 구하는 문제이다. 2. 풀이 연속 된 '부분' 수열이기 때문에 elements 원형 수열을 두 바퀴 까지만 생각해주면 된다. 처음 문제를 봤을 때 이 부분을 생각하지 못해서 막막했었다. 이 부분을 생각해낸다면 elements에 elements를 이어붙인 배열을 만들고 리스트를 슬라이싱해서 부분합의 종.. 2024. 3. 12.