보글보글 개발일지
반응형
[백준/2018][Java] 수들의 합 5
알고리즘 2023. 3. 11. 00:50

2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 두개의 포인터를 활용하여 시작 인덱스와 끝 인덱스를 지정하여 합이 N이 되는 경우의 수를 구합니다. 합 N : s이동(s+1), 감소 합 == N : count+1 , s+1 pseudo-code /*pseudo-code*/ N // 목표 합 start = 1, end = 1 //시작, 끝 자연수 (포인터) count = 0, sum = 1 //개수, start 부터 end까지 연속된 자연수의 합 w..

article thumbnail
[백준/11659][Java] 구간합 구하기
알고리즘 2023. 3. 11. 00:35

11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 처음에 이중 for문으로 배열을 다 탐색하며 계산을 했으나 시간 초과 발생. 이전에 구한 값을 앞으로 구할 값에 사용 가능 → DP로 구현 가능. BufferedReader, StringTokenizer, nextToken으로 구현하는 것이 Scanner 쓰는 것 보다 훨씬 빠르다. 후기-> C++이랑 파이썬 쓰다가 자바로 코딩하려니까 적응이 안되는데.. 자바가 생각보다 실행시간도 길고 함수 사용도 복잡해서 적응하는데 시간이 좀 걸릴 것 같..

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
[백준/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
[백준/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);..

[백준/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
[백준/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 ..

반응형