Posts
ChanBLOG
Cancel

[백준] 11653번 - 소인수분해

백준 온라인 저지의 11653번 소인수분해 문제입니다. [링크] https://www.acmicpc.net/problem/11653 문제 조건과 설명 정수 N (1 이상 10,000,000 이하)이 주어지고 그 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력합니다. Input 첫째 줄에 N이 주어집니다. (1<...

[백준] 2839번 - 설탕 배달

백준 온라인 저지의 2839번 설탕 배달 문제입니다. [링크] https://www.acmicpc.net/problem/2839 문제 조건과 설명 사탕가게에서 설탕을 정확하게 N킬로그램을 배달해야 합니다. 이 설탕은 봉지에 담겨져 있는데, 봉지는 3kg와 5kg 가 있습니다. N킬로그램을 배달하는데, 최소한의 봉지를 들고 가려...

알고리즘 - 1240. [S/W 문제해결 응용] 단순 2진 암호코드

SW Expert Academy 의 1240번 - 단순 2진 암호코드 문제입니다. 난이도 : 1~2 문제 조건 문제 해석에 조금 시간이 걸렸는데 알고 보니 어려운 내용은 크게 없었습니다. 예를 들어, 인풋 파일이 다음과 같이 주어졌을 경우 00000000000000000000000000000000000000000000000000...

자료구조 - Tree의 개념과 용어

Tree의 개념 자료구조를 공부하다 보면 후반부에 등장하는 것이 Tree 입니다. 자료구조의 생김새가 마치 나무 같다고 해서 이름 붙여진 것으로 보이는데요. 즉, List 처럼 선형 구조가 아니라 Tree는 비선형 구조로써 원소들 간에 계층 관계를 가지는 “계층형 자료구조” 상위 원소에서 하위 원소로 내려가면서 확장되는 “나무 모양의 ...

알고리즘 - 1228. [S/W 문제해결 기본] 암호문(1)

SW Expert Academy 의 1228번 - 암호문1 문제입니다. 난이도 : 1~1.5 문제 조건 총 10개의 테스트 케이스가 주어진다. 한 개의 테스트 케이스 당 총 네 줄의 입력값이 존재한다. 첫번째 줄 : 원본 암호문 길이 N (10<=N<=20, N은 정수) 두번째 줄 ...

알고리즘 - 1226. [S/W 문제해결 기본] 미로찾기 문제(1)

SW Expert Academy 의 1226번 - 미로1 문제입니다. 16x16의 인풋으로 주어지는 미로 데이터에서 도착점까지 갈 수 있는지 여부를 판단해 출력합니다. 난이도 : 3 문제 조건 총 10개의 테스트 케이스가 주어진다. 한 개의 테스트 케이스 당, 16x16 의 행렬 값을 인풋으로 받는다. 다음은 그 인풋...

알고리즘 - 1225. [S/W 문제해결 기본] 암호생성기

SW Expert Academy 의 1225번 - 암호생성기 문제입니다. C++의 STL 라이브러리인 queue를 사용하거나, C로 직접 queue를 구현해서 코딩하는 등으로 문제를 풀면 될 것 같습니다. 난이도 : 1~2 문제 조건 총 10개의 테스트 케이스가 주어진다. 한 개의 테스트 케이스 당, 8개의 숫자를 입력...

알고리즘 - BFS(너비 우선 탐색)

이번에 살펴볼 개념은 BFS(너비 우선 탐색)에 관한 내용입니다. BFS(Breadth First Search, 너비 우선 탐색) DFS는 스택 자료구조를 활용해 구현했었다면, BFS는 Queue를 활용합니다. DFS는 갈 수 있는 곳까지 들어가서 확인하고, 갈 곳이 없으면 다시 되돌아와 다른 길을 찾는 식이었습니다. 이를 깊이 우선 탐색이라고 ...

알고리즘 - 큐(Queue) : 선형 큐와 원형 큐

큐(Queue) 이전에 살펴본 스택과는 다르게, 큐는 선입선출(FIFO)의 구조를 가집니다. 1부터 5까지 차례대로 들어온 것이며, deQueue 연산을 하게 되면 1이 출력될 것입니다. Queue의 가능한 연산 종류 createQueue : 큐를 생성한다. 맨 앞을 나타내는 front, 끝을 나타내는 rear는 초기...

알고리즘 - 분할 정복(Divide and Conquer)

이번에 살펴볼 개념은 분할정복에 관한 내용입니다. 분할 정복 분할 정복이란, 해결할 문제를 여러 개의 작은 부분으로 나누고(divde), 나눈 작은 문제를 해결(Conquer)하여, 필요하다면 그 해를 통합(Combine)하는 형식의 문제 풀이를 말합니다. 예: 거듭제곱 알고리즘 2의 n제곱을 계산하려 할 때 (분할정복 X) ...