🐍 Snake Game

방향키 또는 아래 버튼으로 조작하세요 ⬆️⬇️⬅️➡️


2025년 정보처리기사 실기 1회 17번 문제 공부 및 풀이
·
정보처리기사
class Node: def __init__(self, value): self.value = value self.children = [] def tree(li): nodes = [Node(i) for i in li] for i in range(1, len(li)): nodes[(i - 1) // 2].children.append(nodes[i]) return nodes[0] def calc(node, level=0): if node is None: return 0 return (node.value if level % 2 == 1 else 0) + sum(calc(n, level + 1) for n in node.childr..
L4 , Layer-4란 ?
·
코딩 정보 공유
이번에 기관에서 ssl 적용을 하려는데 443 적용은 되었고 443 포트 방화벽도 다 허용 했는데 https 로 접근이 안되었다.서버 측 계시는 분이 알아본 결과 L4 에 443 포트가 허용되지 않아서 막혀있다고 하셨다. 그래서 L4 는 무엇인가 정리해봐야겠다. 1. Layer-4란 무엇인가OSI 모델에서 Layer 4 (전송 계층, Transport Layer). 주로 TCP, UDP 같은 프로토콜이 여기에 속함.패킷의 헤더 중 IP 주소 + 포트 번호 등의 정보만 보고 판단 가능 → 애플리케이션 데이터(payload)의 내용까지 보지는 않음.2. L4 정책 / L4 스위치 / L4 로드밸런서의 역할부하 분산 (Load Balancing)클라이언트 요청을 여러 서버(리얼 서버)로 분산시켜 ..
2025년 정보처리기사 실기 1회 16번 문제 공부 및 풀이
·
정보처리기사
1. 문제 코드 public class Main { public static void main(String[] args) { int[] data = {3, 5, 8, 12, 17}; System.out.println(func(data, 0, data.length - 1)); } static int func(int[] a, int st, int end) { if (st >= end) return 0; int mid = (st + end) / 2; return a[mid] + Math.max(func(a, st, mid), func(a, mid + 1, end)); }} 2. 함수 동작 방식func(a, st, end) 는..
2025년 정보처리기사 실기 1회 13번 문제 공부 및 풀이
·
정보처리기사
public class Main { public static void main(String[] args) { new Child(); System.out.println(Parent.total); }} class Parent { static int total = 0; int v = 1; public Parent() { total += (++v); show(); } public void show() { total += total; }} class Child extends Parent { int v = 10; public Child() { v += 2; t..
2025년 정보처리기사 실기 1회 11번 문제 공부 및 풀이
·
정보처리기사
#include #include void set(int** arr, int* data, int rows, int cols) { for (int i = 0; i 2. 메모리 구조 만들기 arr = (int**) malloc(sizeof(int*) * rows);for (int i = 0; i arr은 int** 형태로, “포인터 배열”을 만든 뒤 각 행을 가리키게 합니다.rows=3, cols=3이므로 최종적으로 3×3 크기의 배열처럼 사용 가능합니다. 3. 데이터 채우기 (set 함수)arr[((i + 1) / rows) % rows][(i + 1) % cols] = data[i]; i는 0~8까지 증가합니다.행 인덱스: ((i+1) / rows) % rows열 인덱스: (i+1) % co..
2025년 정보처리기사 실기 1회 10번 문제 공부 및 풀이
·
정보처리기사
#include char Data[5] = {'B', 'A', 'D', 'E'};char c; int main(){ int i, temp, temp2; c = 'C'; printf("%d\n", Data[3]-Data[1]); for(i=0;ic) break; } temp = Data[i]; Data[i] = c; i++; for(;i 📌 코드 풀이1. 배열 초기화 char Data[5] = {'B', 'A', 'D', 'E'};배열 크기는 5지만 실제로는 4개의 문자가 들어가고 마지막 칸은 '\0'(널문자)로 채워집니다.즉 초기 상태는: Data = {'B', 'A', 'D', 'E', '\0'} 2. 차이 출력printf(..
2025년 정보처리기사 실기 1회 5번 문제 공부 및 풀이
·
정보처리기사
public class Main { public static void main(String[] args) { int a=5,b=0; try{ System.out.print(a/b); }catch(ArithmeticException e){ System.out.print("출력1"); }catch(ArrayIndexOutOfBoundsException e) { System.out.print("출력2"); }catch(NumberFormatException e) { System.out.print("출력3"); }catch(Exception e){ System.out.print("출력4"); }finally{ Sy..
2025년 정보처리기사 실기 2회 18번 문제 공부 및 풀이
·
정보처리기사
#include #include struct node { char c; // 문자 하나 저장 struct node* p; // 이전 노드를 가리키는 포인터}; // 문자열을 받아서 연결 리스트 형태로 변환struct node* func(char* s) { struct node* h = NULL, *n; while(*s) { n = malloc(sizeof(struct node)); // 새로운 노드 생성 n->c = *s++; // 현재 문자 저장 후 다음 문자로 이동 n->p = h; // 이전 노드를 현재 노드에 연결 h..
2025년 정보처리기사 실기 2회 17번 문제 공부 및 풀이
·
정보처리기사
lst = [1, 2, 3]dst = {i: i * 2 for i in lst}s = set(dst.values())lst[0] = 99dst[2] = 7s.add(99)print(len(s & set(dst.values()))) 1. 초기 리스트와 딕셔너리 생성 lst = [1, 2, 3]dst = {i: i * 2 for i in lst} lst = [1, 2, 3]dst = {1: 2, 2: 4, 3: 6} (리스트의 원소를 키로, 값은 두 배) 2. 딕셔너리 값들을 집합으로 변환 s = set(dst.values()) dst.values() = [2, 4, 6]따라서 s = {2, 4, 6} 3. 리스트 수정 lst[0] = 99 lst = [99, 2, 3]중요: dst는 이미 만들어진 상..
2025년 정보처리기사 실기 2회 16번 문제 공부 및 풀이
·
정보처리기사
#include #include struct node { int p; struct node* n;}; int main() { struct node a = {1, NULL}; struct node b = {2, NULL}; struct node c = {3, NULL}; a.n = &b; b.n = &c; c.n = NULL; // (1차 연결: a → b → c → NULL) c.n = &a; // c → a 로 연결 a.n = &b; // a → b b.n = NULL; // b → NULL (b 뒤는 끊김) struct node* head = &c; printf("%d %d %d",..