[프로그래머스] 최소 직사각형 해설 및 풀이 (Python)
·
Study/코딩 테스트
프로그래머스 Programmers Lv.1 최소직사각형https://school.programmers.co.kr/learn/courses/30/lessons/86491 문제 설명명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이1 60 50 2 30 70 3 60 30 4 80 40가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 ..
[프로그래머스] Lv.1 K번째 수 해설 및 풀이 (Python)
·
Study/코딩 테스트
프로그래머스 Lv.1 K번째 수https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [..
[백준] 11727번 2×n 타일링 2 해설 및 풀이 (Python, Java)
·
Study/코딩 테스트
백준 11727번 2×n 타일링 2https://www.acmicpc.net/problem/11727문제2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×17 직사각형을 채운 한가지 예이다.입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 풀이 방법 도출 이 문제는 동적 프로그래밍(DP)로 해결할 수 있습니다. 문제는 2×n 크기의 직사각형을 채우는 경우의 수를 구하는 것입니다. 사용할 수 있는 타일의 경우의 수는 1×2(세로), 2×1(가로), 2×2 (정사각형)이 있습니다. dp의 초기화는 3 이상으로 합니다. dp[1] = 1, ..
[99클럽 코테 스터디 TIL 12일차] 백준 2358번 평행선 해설 및 풀이 (Java)
·
Study/코딩 테스트
백준 2358번 평행선https://www.acmicpc.net/problem/2358  문제평면에 n개의 점이 있다. 그중 두 개 이상의 점을 지나면서 x축 또는 y축에 평행한 직선이 몇 개인지 알아내는 프로그램을 작성하시오.입력첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 줄에는 각 점의 좌표가 주어진다. 같은 좌표가 여러 번 주어질 수 있으며, 그런 경우 서로 다른 점으로 간주한다. 좌표는 절댓값이 231보다 작은 정수이다.출력첫째 줄에 답을 출력한다. 문제 유형자료 구조 정렬 해시를 사용한 집합과 맵 풀이 방법 도출 주어진 점들의 x좌표, y좌표를 각각 기준으로 묶습니다.x가 같은 점들은 수직선(세로선), y가 같은 점들은 수평선(가로선)을 만들 수 있습니다.각 좌표에 대해..
[99클럽 코테 스터디 11일차 TIL] LeetCode 706. Design HashMap 해설 및 풀이 (Java)
·
Study/코딩 테스트
706. Design HashMaphttps://leetcode.com/problems/design-hashmap/description/ Design a HashMap without using any built-in hash table libraries. Implement the MyHashMap class: MyHashMap() initializes the object with an empty map. void put(int key, int value) inserts a (key, value) pair into the HashMap. If the key already exists in the map, update the corresponding value. int get(int key) returns ..