[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
프론트엔드와 백엔드 사이
HTTP 상태 코드는 프론트엔드에서 백엔드로 보냈던 요청의 수행 결과를 의미하는 일종의 약속이며, API를 구성하는 핵심 요소 중 하나입니다. 상태 코드와 관련하여, 백엔드는 잘 모르는 프론트엔드의 슬픈 사정이 있습니다.아래는 요청이 실패했음에도, 백엔드에서 상태 코드
JWT토큰 관리 방식 톺아보기
0. 들어가며 🎯 서비스에 접근하려는 사용자가 누구인지 확인하는 과정을 사용자 인증이라고 합니다. 인증된 사용자에게 주어진 권한을 확인하는 작업은 인가라고 부릅니다. 이번 글에서는 인가는 다루지 않습니다. 사용자 인증에는 많은 방식이 있지만, 오늘은 세션 인증 방
A2AA2A / MCP 멀티 에이전트 오케스트레이션
0. 들어가며 ✍️ Google for Developers에, 레스토랑 공급망 시나리오로 엮은 6대 프로토콜(MCP, A2A, UCP, AP2, A2UI, AG-UI)에 대한 가이드가 게시된 이후, MCP와 A2A부터 구현해 보는 것이 좋을 것 같다는 생각이 들었습니