보글보글 개발일지
반응형
article thumbnail
[백준/10804번][C++] 카드 역배치
알고리즘 2021. 2. 3. 20:37

www.acmicpc.net/problem/10804 10804번: 카드 역배치 1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. www.acmicpc.net 간단한 배열문제다. index를 편하게 하기 위해서 i의 범위를 1부터 20으로 정했다. 우선 for문으로 각 칸에 맞게 1~20을 채운다. count의 의미는 바꿔야하는 수의 개수이다. [9,13]의 경우 9,10,11,12,13 으로 5개이다. 9,10만 뒤에 있는 수로 바꿔주면 된다. 이후 인덱스만 신경써서 출력해주면 된다. #include using namespace std; int arr[22]; int main(void){ ios_b..

article thumbnail
[백준/1267번][C++] 핸드폰 요금
알고리즘 2021. 2. 3. 20:13

www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 각 통화 시간을 따로 따로 계산해야한다. 처음에는 통화 시간을 합쳐서 계산 했더니 값이 틀리게 나왔다. Y==M의 경우를 따져야한다. 그 외는 다른 아이디어가 필요 없는 문제인 듯하다. #include using namespace std; int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; int y=0,m=0; for (int i=0; i..

article thumbnail
[백준/1692번][C++] 곱셈
알고리즘 2021. 1. 29. 22:44

www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 아직 재귀가 낯설어서 이해하는데 정말 오래걸렸다ㅠㅠ visual studio로 디버깅하는게 편해서 오랜만에 visual studio code가 아닌 visual studio를 사용했다. 디버깅하면서 값이 어떻게 바뀌는지 다 확인했다. 먼저 코드를 제시하겠다. #include using namespace std; using ll=long long; ll POW(ll a, ll b, ll m){ //base condition if (b==1) return a%m; //(a^2n)..

article thumbnail
[백준/4179번][C++] 불!
알고리즘 2021. 1. 28. 19:38

www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 불의 경로와 지훈이의 경로를 각각 체크하며 각 칸에 도달하는데 걸리는 시간을 구한다. 만약 지훈이가 이동하려는 칸까지 가는 시간이 불이 그 칸까지 가는 시간보다 오래 걸린다면 지훈이는 그 칸으로 이동하지 못한다. 지훈이의 경로에서 범위를 벗어난다면, 탈출에 성공한 것이다. 대입 연산자 = 를 써야하는데, ==을 써서 오류 찾는데 한참 걸렸다.. #include #include using names..

article thumbnail
[백준/2178번][C++] 미로 탐색
알고리즘 2021. 1. 28. 16:59

www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net BFS 문제 입력을 string으로 받는다. 한 칸씩 이동할 때마다 카운트를 하며 맨 처음 시작부터 각 칸까지의 거리를 저장한다. #include #include #include using namespace std; string board[102]; int dist[102][102]; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int main(void){ ios_base::sync_with_stdio(0);..

article thumbnail
[백준/1926번][C++] 그림
알고리즘 2021. 1. 28. 15:07

www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 기초적인 BFS문제입니다. 제가 전부 생각해 낸게 아니라 기초 알고리즘을 비롯해 문제에 대한 도움을 받고 이 문제를 풀었습니다. 아래에 출처를 표시했습니다. 우선 board와 방문 표시를 위한 visit 배열을 선언하고, 각 칸의 상하 좌우를 살피기 위해 dx, dy를 선언했습니다. 우선 가장 먼저 방문하는 곳을 (x,y)라고 정했습니다. 이후 아래(x+1,y), 오른쪽(x,y+1), 위(x-1,y), 왼쪽(x,y-..

[백준/10773번][C++] 제로
알고리즘 2021. 1. 25. 18:43

www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 간단한 스택문제! #include #include using namespace std; int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); int k; int sum=0; cin>>k; stack s; for(int i=0;i>n; if(n!=0) s.push(n); else s.pop(); } while(!s.empty())..

article thumbnail
[백준/5397번][C++] 키로거
알고리즘 2021. 1. 25. 17:44

www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이 www.acmicpc.net 창영이.. 나쁜 친구다. 앞서 푼 에디터 문제와 비슷했다. 우선 문자열을 입력받고 변경된 문자열을 저장할 list를 선언한다. auto cursor=l.begin()을 사용했는데, 그냥 list iterator::cursor을 써도 되긴 한다. '', '-' 의 경우를 뺀, 일반 문자열의 경우 그냥 list에 삽입해준다. l.insert(cursor,c)로 했는데, cursor가 가리키는 위치에 원소 c..

article thumbnail
[백준/1406번][C++] 에디터
알고리즘 2021. 1. 25. 16:56

www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 문자열을 list에 저장한다. auto형으로 cursor변수를 선언해 커서의 위치를 맨 뒤로 보낸다. 명령어를 입력받아 각 명령어에 따라 명령을 수행한다. L: 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨) D: 커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨) B:커서 왼쪽에 있는 문자를 삭제함 (커서가 문장의 맨 앞이면 무시됨) 삭제로 인해 커서는 한 칸 왼쪽으로 이동한 것처..

article thumbnail
[백준/11328번][C++] Strfry
알고리즘 2021. 1. 25. 16:46

www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net string을 입력 받아서 begin~end까지 정렬해준다! 두 문자열이 같다면? Possible 다르다면 Impossible 출력 #include #include #include using namespace std; int main(void) { ios_base::sync_with_stdio; cin.tie(0); int num; cin>>num; int arr[1000]; for(int ..

반응형