이세개발
06_01 [실전문제] 1로 만들기
Algorithm/이.코.테문제 2023. 6. 5. 18:53

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 정수 x가 주어질 때 정수 x에 사용할 수 있는 연산은 다음과 같이 4가지이다. x가 5로 나누어 떨어지면, 5로 나눈다. x가 3으로 나누어 떨어지면, 3으로 나눈다. x가 2로 나누어 떨어지면, 2로 나눈다. x에서 1을 뺀다. 정수 x가 주어졌을 때, 연산 4개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 구하시오. 예를 들어 정수가 26이면 다음과 같이 계산해서 3번의 연산이 최솟값이다. 26 -..

05_06 [기출문제] 가사 검색
Algorithm/이.코.테문제 2023. 6. 5. 18:18

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 친구들로부터 천재 프로그래머로 불리는 "프로도"는 음악을 하는 친구로부터 자신이 좋아하는 노래 가사에 사용된 단어들 중에 특정 키워드가 몇 개 포함되어 있는지 궁금하니 프로그램으로 개발해 달라는 제안을 받았습니다. 그 제안 사항 중, 키워드는 와일드카드 문자중 하나인 '?'가 포함된 패턴 형태의 문자열을 뜻합니다. 와일드카드 문자인 '?'는 글자 하나를 의미하며, 어떤 문자에도 매치된다고 가정합니다. 예를 들어 "fro??" 는 ..

05_05 [기출문제] 공유기 설치
Algorithm/이.코.테문제 2023. 6. 5. 18:14

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서..

05_04 [기출문제] 고정점 찾기
Algorithm/이.코.테문제 2023. 6. 5. 18:12

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 고정점(Fixed Point)이란, 수열의 원소 중에서 그 값이 인덱스와 동일한 원소를 의미합니다. 예를 들어 수열 a = {-15, -4, 2, 8, 13}이 있을 때 a[2] = 2이므로, 고정점은 2가 됩니다. 하나의 수열이 N개의 서로 다른 원소를 포함하고 있으며, 모든 원소가 오름차순으로 정렬되어 있습니다. 이때 이 수열에서 고정점이 있다면, 고정점을 출력하는 프로그램을 작성하세요. 고정점은 최대 1개만 존재합니다. 만약..

05_03 [기출문제] 정렬된 배열에서 특정 수의 개수 구하기
Algorithm/이.코.테문제 2023. 6. 5. 18:09

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] N개의 원소를 포함하고 있는 수열이 오름차순으로 정렬되어 있습니다. 이때 이 수열에서 x가 등장하는 횟수를 계산하세요. 예를 들어 수열 {1, 1, 2 ,2 ,2 ,2, 3}이 있을 때 x=2라면, 현재 수열에서 값이 2인 원소가 4개이므로 4를 출력합니다. 단, 이 문제는 시간 복잡도 O(logN)으로 알고리즘을 설계하지 않으면 ‘시간 초과’ 판정을 받습니다. [입력 조건] 첫째 줄에 N과 x가 정수 형태로 공백으로 구분되어 입..

05_02 [실전문제] 떡볶이 떡 만들기
Algorithm/이.코.테문제 2023. 6. 5. 18:03

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 오늘 동빈이는 여행가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이네 떡볶이 떡은 재밌게도 떡볶이 떡의 길이가 일정하지 않다. 대신에 한 봉지 안에 들어가는 떡의 총 길이는 절단기로 잘라서 맞춰준다. 절단기에 높이(H)를 지정하면 줄지어진 떡을 한 번에 절단한다. 높이가 H보다 긴 떡은 H 위의 부분이 잘릴 것이고, 낮은 떡은 잘리지 않는다. 예를 들어 높이가 19, 14, 10, 17cm..

05_01 [실전문제] 부품 찾기
Algorithm/이.코.테문제 2023. 6. 5. 18:01

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 동빈이네 전자 매장에는 부품이 N개 있다. 각 부품은 정수 형태의 고유한 번호가 있다. 어느 날 손님이 M개의 종류의 부품을 대량으로 구매하겠다며 당일 날 견적서를 요청했다. 동빈이는 때를 놓치지 않고 손님이 문의한 부품 M개 종류를 모두 확인해서 견적서를 작성해야 한다. 이때 가게 안에 부품이 모두 있는지 확인하는 프로그램을 작성해보자. 예를 들어 가게의 부품이 총 5개일 때 부품 번호가 다음과 같다고 하자. N=5 [8, 3,..

04_07 [기출문제] 카드 정렬하기
Algorithm/이.코.테문제 2023. 6. 5. 17:55

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. 매우 많은 숫자 카드 묶음이 책상 위에 놓여 있다. 이들을 두 묶음씩 골라 서로 합쳐나간다면, 고르는 순서에 따라서 비교 횟수가 매우 달라진다. 예를 들어 10장, 20장,..

04_06 [기출문제] 실패율
Algorithm/이.코.테문제 2023. 6. 5. 17:54

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패..

article thumbnail
04_05 [기출문제] 안테나
Algorithm/이.코.테문제 2023. 6. 5. 17:50

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 일직선 상의 마을에 여러 채의 집이 위치해 있다. 이중에서 특정 위치의 집에 특별히 한 개의 안테나를 설치하기로 결정했다. 효율성을 위해 안테나로부터 모든 집까지의 거리의 총 합이 최소가 되도록 설치하려고 한다. 이 때 안테나는 집이 위치한 곳에만 설치할 수 있고, 논리적으로 동일한 위치에 여러 개의 집이 존재하는 것이 가능하다. 집들의 위치 값이 주어질 때, 안테나를 설치할 위치를 선택하는 프로그램을 작성하시오. 예를 들어 N=..