[TIL/정처기] 2025/03/31
22년 1회 기출 코드 정리 ✍️22-1-1-JAVA ⚙️객체의 경우 Call by Reference, 주소가 복사된다. 메소드 내부에서 값을 변경하면 원본 객체도 변경된다. 최종 출력 결과는 2000.22-1-5-JAVA ⚙️멀티스레딩을 구현한 코드다. Runnabl
22년 1회 기출 코드 정리 ✍️
22-1-1-JAVA ⚙️
class A {
int a;
int b;
}
public class Test {
static void func1(A m){
m.a *= 10;
}
static void func2(A m){
m.a += m.b;
}
public static void main(String[] args) {
A m = new A();
m.a = 100;
func1(m);
m.b = m.a;
func2(m);
System.out.printf("%d", m.a);
}
}객체의 경우 Call by Reference, 주소가 복사된다. 메소드 내부에서 값을 변경하면 원본 객체도 변경된다. 최종 출력 결과는 2000.
22-1-5-JAVA ⚙️
class Car implements Runnable {
int a;
public void run(){
try {
while(++a < 100){
System.out.println("miles traveled : " +a);
Thread.sleep(100);
}
} catch (Exception e) { }
}
}
public class Test {
public static void main(String[] args) {
Thread t1 = new Thread(new Car());
t1.start();
}
}멀티스레딩을 구현한 코드다. Runnable 인터페이스는 run()이라는 메소드를 가지고 있다. 해당 메서드를 Car()에서 구체적으로 구현한 것이다.
최종 출력 결과는 다음과 같다.
miles traveled : 1
miles traveled : 2
miles traveled : 3
miles traveled : 4
miles traveled : 5
...
miles traveled : 99
**22-1-7-Python ⚙️**
def func(num1, num2 = 2): print('a =', num1, 'b=', num2)
func(20)
인수는 매개변수에 차례로 전달된다. 따라서 인수가 하나만 주어지면, num1이 해당 인수를 전달받는다. 최종 출력 결과는 a = 20 b = 2.
**22-1-12-C ⚙️**
5를 입력했을 때라고 가정한 코드.
#include
int func(int a) { if(a <= 1) return 1; return a func(a - 1); }
int main() { int a; scanf("%d", &a); printf("%d", func(a)); }
scanf()는 입력을 받는 함수다. &a는 변수 a의 메모리 주소를 의미한다. scanf()는 직접 변수의 값을 변경해야 하므로, 변수 자체가 아닌 변수의 메모리 주소를 필요로 한다. 이후에는 5 팩토리얼을 계산하게 된다. 최종 출력 결과는 120.
**22-1-15-C ⚙️**
정수를 역순으로 출력하는 프로그램. 단, 1230처럼 0으로 끝나는 정수는 고려하지 않는다.
#include
int main() { int number = 1234; int div = 10, result = 0;
while (number != 0) { result = result div; result = result + number % div; number = number / div; } printf("%d", result); }
별로 래핑된 부분, ```!=, %, /```를 채우는 코드였다.
`number`를 10으로 나누어 각 자릿수를 추출한 뒤, `result` 변수에 순차적으로 더하여 숫자를 뒤집는다. 예를 들어, `1234`는 첫 번째 반복에서 `4`가 더해지고, 두 번째 반복에서 `3`, 세 번째에서 `2`, 네 번째에서 `1`이 더해져 최종적으로 `4321`을 출력하게 된다.
**22-1-17-C ⚙️**
#include
int isPrime(int number) { for(int i = 2; i < number; i++) if(number % i == 0) return 0; return 1; }
int main() { int number = 13195; int max_div = 0; for(int i = 2; i < number; i++) if(isPrime(i) == 1 && number % i == 0) max_div = i; printf("%d", max_div); }
More to read
AI&ML 기초
Reference: https://bettermesol.github.io/ml/2019/09/16/ai-ml-dl/AI: 기계가 사람처럼 생각하고 판단하게 만드는 가장 넓은 범주의 기술입니다.ML: 데이터를 학습하여 스스로 규칙을 찾아내는 AI의 한 분야로,
'AI Agent Economy'Novitas : AI Agent가 지갑을 가지는 세상
얼마 전, 미래에셋증권 리서치 리포트(올해는 이더리움이다: 에이전트 시대의 Near Automata)를 접하게 되었습니다. AI Agent를 인간과 함께할 경제 주체로 바라보는 시각에 적잖이 충격을 받았더랬죠.한 가지 짚고 넘어갈 부분이 있습니다. 우리가 흔히 'AI'
'ERC-8004'Novitas: AI 에이전트 경제 주체
Web 4.0을 한 문장으로 정의하면 Sovereign Transact입니다.AI가 인간의 허락 없이 지갑을 소유하고, 결제를 수행하며, 인프라를 통제하는 주권적 경제 주체가 되는 세계입니다. Web 3.0이 블록체인 기반의 탈중앙화를 실현했다면, Web 4.0은 그