알고리즘 문제풀이(5)
-
[Python] 프로그래머스 lv2 (2019 카카오 개발자 겨울 인턴쉽) - 튜플
[Python] 프로그래머스 lv2 - 튜플 코딩테스트 연습 - 튜플 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 사실문제를 이해하는데 되게 오래 걸렸던 문제였다. 정확히 말하면 출력값을 지정하는 부분에서 오래 걸렸다. 주어진 문자열 튜플 중에서 나오는 원소들을 리스트에 넣어라. 이때 넣어지는 원소는 중복값이 들어가면 안 된다라는 점이었다. 다만 출력의 방식에서 문제가 생겼다. 출력값 result를 보면 순서가 정해져 있었는데 해당 순서를 어떤 기준을 통해 열거되어있는지를 찾아야 하는데..
2024.01.31 -
[Python] 프로그래머스 lv2 - 카펫
[Python] 프로그래머스 lv2 - 카펫 코딩테스트 연습 - 카펫 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이방법 문제에서 원하는 답 해당 타일로 이루어진 카펫의 가로, 세로 길이 이때 가로 > 세로 문제의 경우 노란 타일을 갈색 타일이 감싸고 있는 형식 노란 타일 + 2를 해야 각각의 가로, 세로 길이가 나온다 두 개의 식을 연립해서 연립방정식으로 풀이 가로 + 세로 = 갈색 - 2 가로 * 세로 = 노란색 개수 의사코드 노란색의 약수 리스트 구하기 노란색의 약수로 만들어진 리스트 탐색..
2023.05.18 -
[Python] 프로그래머스 lv1 - 푸드 파이터 대회
[Python] 프로그래머스 lv1 - 푸드 파이터 대회 코딩테스트 연습 - 푸드 파이트 대회 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 요약 food라는 리스트 존재 리스트의 0번째 원소는 물의 개수 인덱스 1부터 마지막까지는 각 음식의 개수 이때 음식이 공평하게 분배되어야 함 == 숫자를 2로 나눠 몫만 취급 음식 배치의 순서 구하기 먼저 본인의 순서를 구한 후 물(인덱스 0)을 놓은 뒤 문자열 뒤집기로 뒤에 이어주는 방식 풀이 코드 def solution(food): ans..
2023.01.10 -
[Python] 백준 알고리즘 15649번 - N과 M(1)
[Python] 백준 알고리즘 15649번 - N과 M(1) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 접근 방법 숫자 입력 → 문제의 요구사항 입력 n. m 입력 / 정답 기록용의 s 리스트 생성 메서드 구현 주어진 n까지 중복 없이 m개를 골라 출력 리스트 s의 길이가 m과 동일해지면 해당 반복문을 멈추고 출력 후 종료 join 및 map 활용 동일하지 않은 경우 for 반복문 실행( 1 ~ n + 1까지), i는 반복문에 할당된 변..
2022.10.06 -
[Python] 백준 알고리즘 11726 - 2 x n 타일링
백준 알고리즘 11726 - 2 x n 타일링 문제 출처 : 11726번: 2 ×n 타일링 (acmicpc.net) 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 접근 다이나믹 프로그래밍, 즉 동적 계획법을 바탕으로 접근을 해야 하는 문제이다. n이 늘어나는 경우에 맞춰 점화식을 세우고 그에 맞춰서 코드를 진행하였다. 점화식에 대해 접근을 해보자. 해당 점화식의 경우 피보나치 수열과 유사한 점화식이 등장한다. 점화식의 경우 본인의 인덱스를 i라고 하자. 그럼 i - 2 와 i - 1의 경우의 수를 합산하면 해당 인덱스의 경우의 수..
2022.07.30