일지
-
JUNGOL...46일지 2021. 2. 22. 21:04
Beginner_Coder/도형만들기2/별삼각형1 문제 삼각형의 높이 n과 종류 m을 입력 받은 후 다음과 같은 삼각형 형태로 출력하는 프로그램을 작성하시오. * ** *** **** ***** ***** **** *** ** * * *** ***** ******* ********* 종류1 종류2 종류3 입력 형식 삼각형의 크기 n(n의 범위는 100 이하의 자연수)과 종류 m(m은 1부터 3사이의 자연수)을 입력받는다. 출력 형식 위에서 언급한 3가지 종류를 입력에서 들어온 높이 n과 종류 m에 맞춰서 출력한다. 입력된 데이터가 주어진 범위를 벗어나면 "INPUT ERROR!"을 출력한다. 입력 예 3 2 | 4 3 | 200 3 출력 예 *** │ * | INPUT ERROR! ** │ *** * │..
-
JUNGOL...45일지 2021. 2. 17. 13:38
Beginner_Coder/수학1/최대공약수와최소공배수 문제 두개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 형식 입력 파일의 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 형식 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 입력 예 24 18 출력 예 6 72 Hint! 최대공약수(GCD)란? 어떤 두 수 이상의 공통인 약수를 그 수들의 공약수라 하고 공약수들 중 가장 큰 수를 최대공약수라 한다. 공약수는 최대공약수의 약수가 된다. 예를 들어 8의 약수는 1, 2, 4, 8이고 12의 약수는 1, 2, 3, 4, 6, 12이..
-
자료구조...62일지 2021. 2. 16. 08:13
이진트리의 순회 이진트리에 존재하는 모든 노드를 한 번씩 방문하여 데이터를 처리하는 과정을 순회라고 한다. 데이터를 처리하는 순서에 따라 다음과 같이 구분한다. 전위 순회 데이터를 처리한 뒤 왼쪽 노드, 오른쪽 노드 순서로 이동한다. 중위 순회 왼쪽 노드로 이동한 뒤 데이터 처리를 하고 오른쪽 노드로 이동한다. 후위 순회 왼쪽 노드로 이동한 뒤 오른쪽 노드로 이동하고 데이터 처리를 한다. 위와 같이 A를 루트로 하는 트리를 순회할 때 각각의 순회 방법은 다음과 같다. 전위 순회 A - B - D - E - C 중위 순회 D - B - E - A - C 후위 순회 D - E - B - C - A
-
JUNGOL...44일지 2021. 2. 9. 09:01
Beginner_Coder/수학1/약수와 배수 문제 주어진 정수들 중 입력받은 수의 약수와 배수의 합을 각각 출력하라. 입력 형식 첫 줄에 정수의 개수 n (1 arr[i]; } int m; std::cin >> m; int sumOfFactor{ 0 }, sumOfMultiple{ 0 }; for (int i = 0; i < n; i++) { if (m % arr[i] == 0) { sumOfFactor += arr[i]; } if (arr[i] % m == 0) { sumOfMultiple += arr[i]; } } std::cout k; for (int i = 1; i
-
JUNGOL...43일지 2021. 2. 3. 10:45
Beginner_Coder/수학1/곱셈 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. 4 7 2 ...... (1) x 3 8 5 ...... (2) ------------- 2 3 6 0 ...... (3) 3 7 7 6 ...... (4) 1 4 1 6 ...... (5) ------------- 1 8 1 7 2 0 ...... (6) (1)과 (2)위치에 들어갈 세 자리 자연 수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 입력 형식 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. 출력 형식 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5..
-
인터프리터...34일지 2021. 1. 28. 09:09
심볼 테이블에 등록 변수를 선언하거나 함수를 정의할 때 해당하는 이름을 구할 수 있고 문맥을 통해 변수 명인지 함수 명인지 파악할 수 있다. 단, 인터프리터의 경우에는 초기값 대입 시 형을 결정하므로 이름과 종류, 배열인 경우 배열의 길이를 저장한다. BBI 인터프리터에서는 다음의 방식으로 등록 처리를 한다. int Enter(SymbolTable& stbl, SymbolKind kind) { 변수명 외에 $를 사용하지 않은 것을 확인 종류별 정보를 설정 이름이 중복되지 않은 것을 확인 if (함수인 경우) { 정의 행을 주소로 저장 } if (변수 또는 인수인 경우) { 메모리 할당 후 주소 저장 } 글로벌 이름인지 로컬 이름인지 판정하고 해당하는 심볼 테이블에 등록 return 심볼 테이블 위치; }..