보글보글 개발일지
반응형
article thumbnail
[백준/2445번][C++] 별 찍기 - 8
알고리즘 2021. 2. 20. 00:35

www.acmicpc.net/problem/2445 2445번: 별 찍기 - 8 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 이거 풀다가 갑자기 vs code 빌드가 안돼서 진짜 지웠다 깔았다 별 난리를 다했다. 아무래도 tasks.json파일에 문제가 생겼었나보다. 흑흑 그냥 자려다가 이거 풀고 잤다. 쉬운 문제라 오래 안걸렸지만, 멘탈은 부셔졌다..... 코드는 아래와 같다. #include using namespace std; int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; for(int i=0;i

article thumbnail
[백준/1012번][C++] 유기농 배추
알고리즘 2021. 2. 4. 01:41

www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net BFS를 통해 문제를 해결했다. 주의할 점 2가지가 있는데 1. 가로, 세로 인덱스가 반대로 되어 있다. 2. 각 테스트 케이스마다 보드를 초기화 해 주어야 한다. 나는 1, 2번으로 인해 시간을 굉장히 오래 잡아먹었다. 다른 요소들은 그냥 보통의 BFS에 count를 더한 것이다. #include #include using namespace std; #define X first #define Y second int n,m..

article thumbnail
[백준/2444번][C++] 별 찍기 - 7
알고리즘 2021. 2. 3. 21:32

www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 작년에 과제로 별 찍기 10번을 풀다가 넘 고생했다.. 재귀로 했던건데 다시 풀면 한 번에 할 수 있을지... 아무튼 이번 문제는 가운데 라인까지 한 번 출력해주고 역삼각형을 또 출력해주었다. 그냥 삼각형, 역삼각형 두개 이어 붙인 느낌 #include using namespace std; int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; for(int i=0;i

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())..

반응형