문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N (정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오. 그리고 각 ..
오늘은 분할 정복을 사용하여 정렬하는 Merge Sort에 대해 알아보겠습니다 Merge Sort는 말 그대로 합치는 정렬입니다 각 부분을 합치는 과정 중에서 해당 값을 비교하여 작은 수와 큰 수를 정렬하는 방법입니다 분할 정복 (Divide and Conquer) 주어진 문제의 입력을 분할하여 작은 부분 문제로 만들고 해당 문제를 해결하여 마지막으로는 전체 문제를 해결하는 알고리즘 → 부분 문제로 나눌 수 없을 때까지 나누어 해결하여 큰 문제를 해결하는 방식 MergeSort의 경우 각 부분을 입력의 1/2로 나누어 총 분할 횟수는 log2n 입니다 위 그림처럼 자잘한 문제로 나누어 해당 문제를 풀어해결하는 알고리즘 합병정렬 (MergeSort) 병합 정렬이라고도 부르며 해당 정렬 알고리즘은 부분 문제..
3 x n 의 직사각형에 2 x 1 짜리 타일을 채우는 방법의 개수를 구하는 문제입니다 문제 가로 길이가 2이고 세로의 길이가 1인 직사각형 모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 3이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 8인 직사각형은 다음과 같이 채울 수 있습니다. 제한사항 가로의 길이 n은 5,000이하의 자연수 입니다 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요 입출력 예시 n result 4 11 6 41 입출력 예 #1 다음과 같이 11가지 방법이 있다 S..
입력받은 숫자를 통해 점의 개수를 출력하는 문제입니다 https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 좌표평면을 좋아하는 진수는 x축과 y축이 직교하는 2차원 좌표평면에 점을 찍으면서 놀고 있습니다. 진수는 두 양의 정수 k, d가 주어질 때 다음과 같이 점을 찍으려 합니다. 원점(0, 0)으로부터 x축 방향으로 a*k(a = 0, 1, 2, 3 ...), y축 방향으로 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 위치에 점을 ..
약수의 합을 구하는 함수를 만드는 문제입니다 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수 solution을 완성해주세요 제한 사항 n은 0 이상 3000 이하인 정수입니다 입출력 예시 입력 출력 12 26 5 6 0 0 입출력 예 #1 12의 약수는 1,2,3,4,6,12입니다 → 이를 모두 더하면 28입니다 입출력 예 #2 5의 약수는 1,5입니다 → 이를 모두 더하면 6입니다 입출력 예 #3 0의 약수는 없습니다→ 따라서 값은 0이 출력됩니다 Solution #include using namespace std; int solution(int n) { int answer = 0; if(n==0) return answer; // 입력이 0일 경우 바로 return else{ ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.