🐍 Snake Game

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


2024년 정보처리기사 실기 3회 12번 문제 공부 및 풀이
·
정보처리기사
#include struct Node { int value; struct Node* next;}; void func(struct Node* node){ while(node != NULL && node->next != NULL){ int t = node->value; node->value = node->next->value; node->next->value = t; node = node->next->next; }} int main(){ struct Node n1 = {1, NULL}; struct Node n2 = {2, NULL}; struct Node n3 = {3, NULL}; n1.next = &n3; n3.next = &n2; func(&n1); ..
2024년 정보처리기사 실기 3회 11번 문제 공부 및 풀이
·
정보처리기사
public class Main{ public static void main(String[] args){ Base a = new Derivate(); Derivate b = new Derivate(); System.out.print(a.getX() + a.x + b.getX() + b.x); }}class Base{ int x = 3; int getX(){ return x * 2; }}class Derivate extends Base{ int x = 7; int getX(){ return x * 3; }}Base a = new Derivate();참조 타입(Base), 실제 객체 타입(Derivate)a.getX() → 오버라이딩된 Deriva..
2024년 정보처리기사 실기 3회 10번 문제 공부 및 풀이
·
정보처리기사
def func(value): if type(value) == type(100): return 100 elif type(value) == type(""): return len(value) else: return 20 a = '100.0'b = 100.0c = (100, 200) print(func(a) + func(b) + func(c)) 📌 풀이func(value) 함수에서 타입 체크함type(value) == type(100) → 정수형(int)인지 확인type(value) == type("") → 문자열(str)인지 확인둘 다 아니면 else 로 20 리턴1. a = '100.0'따옴표 있음 → 문자열(str)조건 elif type(value..
방화벽 과 L4 정책 , 443 포트 차단 해결
·
코딩 정보 공유
내가 겪은 상황서버에 HTTPS(443 포트) 적용하려고 SSL 인증서 설치 및 설정까지 완료함.그런데 접속이 되지 않음.처음엔 방화벽(Firewall) 문제라고 생각했지만, 443 포트 허용이 이미 되어 있었음.국자원(국가정보자원관리원) 측 확인 → 방화벽 레벨에서는 문제 없음.최종 원인: 서버가 이중화 구조였고, 가상 IP(VIP) 를 통해 접근하는데, 그 VIP에 적용된 L4 정책에서 443 포트가 차단되어 있었음.즉, 방화벽은 통과했지만 L4 스위치 레벨에서 막히는 바람에 HTTPS 연결이 실패한 것.개념적인 부분(1) 방화벽(Firewall)네트워크 패킷이 서버 내부로 들어오기 전, 가장 먼저 거치는 보안 장치.IP/포트 기반으로 접근을 허용하거나 차단.예: 443 포트가 허용되었는지 확인하는 ..
2024년 정보처리기사 실기 3회 7번 문제 공부 및 풀이
·
정보처리기사
#include int func(){ static int x =0; x+=2; return x;} int main(){ int x = 1; int sum=0; for(int i=0;i📌 풀이func() 안에 있는 static int x = 0;static 은 지역변수처럼 보이지만 함수가 끝나도 메모리에 남아있음따라서 초기화는 딱 한 번만 됨main() 실행 시작x = 1, sum = 0 으로 시작함for문 돌면서 func() 4번 호출📌 func() 호출 흐름첫 번째 호출 → x=0 에서 시작 → x+=2 → x=2 → 리턴값 2두 번째 호출 → 이전 값 x=2 유지 → x+=2 → x=4 → 리턴값 4세 번째 호출 → x=4 → x+=2 → x=6 → 리턴값 6네 번째 호출 → x..
2024년 정보처리기사 실기 3회 2번 문제 공부 및 풀이
·
정보처리기사
def func(lst): for i in range(len(lst) //2): lst[i], lst[-i-1] = lst[-i-1], lst[i] lst = [1,2,3,4,5,6] func(lst)print(sum(lst[::2]) - sum(lst[1::2])) 코드가 하는 일 한 줄 요약func → 리스트를 제자리(in-place)에서 뒤집음마지막 한 줄 → 짝수 인덱스 합 – 홀수 인덱스 합 출력함range 사용법 핵심 정리형태 3가지 있음range(stop) : 0부터 stop-1 까지range(start, stop) : start부터 stop-1 까지range(start, stop, step) : step 간격으로 진행 (음수 가능)len(lst) // 2 의미리스트 길이의 절반을 ..
2024년 정보처리기사 실기 2회 18번 문제 공부 및 풀이
·
정보처리기사
#include void swap(int a, int b) { int t = a; a = b; b = t;} int main() { int a = 11; int b = 19; swap(a, b); switch(a) { case 1: b += 1; case 11: b += 2; default: b += 3; break; } printf("%d", a-b);} 풀이 과정swap 함수swap(a, b) 호출했지만 값이 복사돼서 넘어감지역변수끼리 바뀌고 끝나므로 main 함수의 a, b 값은 안 바뀜따라서 여전히 a=11, b=19 유지됨..
2024년 정보처리기사 실기 2회 17번 문제 공부 및 풀이
·
정보처리기사
class Main { public static void main(String[] args) { String str = "abacabcd"; boolean[] seen = new boolean[256]; System.out.print(calculFn(str, str.length()-1, seen)); } public static String calculFn(String str, int index, boolean[] seen) { if(index 풀이 흐름입력 문자열"abacabcd" 라는 문자열 줌boolean 배열 초기화seen = new boolean[256];→ 아스키 코드 기준으로 각 문자가 이미 등장했는지 기록하는 용도임재귀 ..
2024년 정보처리기사 실기 2회 15번 문제 공부 및 풀이
·
정보처리기사
#include #include void sumFn(char* d, const char* s) { while (*s) { *d = *s; d++; s++; } *d = '\0'; } int main() { const char* str1 = "first"; char str2[50] = "teststring"; int result=0; sumFn(str2, str1); for (int i = 0; str2[i] != '\0'; i++) { result += i; } printf("%d", result); return 0;} 코드 핵심 요약sumFn(char* d, const char*..
2024년 정보처리기사 실기 2회 13번 문제 공부 및 풀이
·
정보처리기사
#include int main() { int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int* parr[2] = {arr[1], arr[2]}; printf("%d", parr[1][1] + *(parr[1]+2) + **parr); return 0;} int arr[3][3] = {1,2,3,4,5,6,7,8,9}; 3x3 배열 선언함값은 1~9 순서대로 들어감형태는1 2 34 5 67 8 9 int* parr[2] = {arr[1], arr[2]}; parr[0] → arr[1] 가리킴 → {4,5,6}parr[1] → arr[2] 가리킴 → {7,8,9}parr[1][1] parr[1] → arr[2] → {7,8,9}그 중 [..