자료구조와 알고리즘 36

[백준][Python] 10804번: 카드 역배치

https://www.acmicpc.net/problem/10804 10804번: 카드 역배치 1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. www.acmicpc.net 리스트를 역순으로 정렬하는 건 파이썬이 쉽게 떠올라서 파이썬으로 풀었다. 근데 이상한 게 있다.. 1 2 3 4 5 6 7 8 9 10 11 12 list = [] for i in range(1,21): list.append(i) for i in range(10): a, b = map(int, input().split()) temp = list[a-1:b] temp = reversed(temp) list[a-1:b] = temp ..

[백준][C++][Python] 2577: 숫자의 개수

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 이 문제의 풀이도 개발자 지망생님의 블로그에서...! C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int a, b, c; cin >> a >> b >> c; int result = a*b*c; int arr[10] = {0}; while(r..

[백준][C++] 10093번: 숫자

이것을 보고 A, B의 자료형은 long long이어야 한다는 것을 몰랐따! int형은 21억(2.1X10의9승)정도까지 표현가능하고, long long형은 (9.2X10의 18승)까지 표현가능하다고 한다. 그래서 분명 잘 풀었는 데 왜 안되나.. 해서 또 구글링..을 했더니 long long으로 되어있었당.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include #include #define N 100000 using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); long long A,B; cin >> A >> B; if (A ..

[백준][C++] 2309번: 일곱 난쟁이

https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 처음 문제를 봤을 때: 와..키의 합이 100이 되는 7명을 어떻게 찾지.. 라고 생각하면서 더했을 때 100이 된다는 것만 생각해서 도저히 실마리가 보이지 않았다. 그래서 역시 구글링.. 실마리는 빼기에 있었다..! 9명에서 2명을 뺐을 때 나머지 7명의 키가 100이면 되는 것이지 않는가! 개발자 지망생님의 블로그에서 본 풀이인데 나도 개발자 지망생님처럼 실력있는 지망생이 되고 싶다는 생각이 들었다. ..

[백준][C++] 2490번: 윷놀이

이 문제도 복잡하게 풀어놓고 더 간단한 풀이를 보기 위해 구글링해서 알아낸 풀이를 퍼옴! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); for (int i = 0; i a, s += a; switch (s) { case 0: puts("D"); break; case 1: puts("C"); break; case 2: puts("B"); break; case 3: puts("A"); break; case 4: puts("E"); } } } Colored by Color Scripter cs 난 처음에 이중반복문을 쓰지 않고 따로 입력받고..

[백준][C++][Python] 2752번: 세 수 정렬

https://www.acmicpc.net/problem/2752 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net 처음에 풀 때 경우의 수가 너무 많이 생각나서 간단히 풀 수 있는 방법이 없을까 고민하다가 생각이 안나서 구글링으로 알아냈다. 정말 참신한 풀이..! C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int a, b, c, t; cin >> a >> b >> c;..

런타임 에러가 발생하는 이유

배열에 할당된 크기를 넘어서 접근했을 때 전역 배열의 크기가 메모리 제한을 초과할 때 지역 배열의 크기가 스택 크기 제한을 넘어갈 때 0으로 나눌 떄 라이브러리에서 예외를 발생시켰을 때 재귀 호출이 너무 깊어질 때 이미 해제된 메모리를 또 참조할 때 프로그램(main 함수)가 0이 아닌 수를 반환했을 때 출처: https://www.acmicpc.net/board/view/22980

[백준][그리디 알고리즘][파이썬] 1541.잃어버린 괄호

https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. www.acmicpc.net 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다가 괄호를 모두 지웠다고 한다. 그리고 식의 값이 최소가 되도록 괄호를 사용하고 싶어한다. 세준이를 도와주자. 예를 들어 55-50+40을 최소로 만들기 위해서는 55-(50+40) 이렇게 괄호를 사용해야한다. 그럼 식의 값은 -35가 된다. 최소값으로 만들어야하니까 괄호를..

[백준][그리디 알고리즘][파이썬] 11047.동전 0

https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 N, K = map(int, input().split()) ############################################### # value_list = [] #..