기타 20

최대, 최소

이 문제는 최댓값을 구하는 max함수에서는 최댓값을 console에 출력하고, 최솟값을 구하는 min함수에서는 최솟값을 경고창에 출력하는 문제이다.max함수는 if로 첫 번째 값과 두 번째 값을 비교한 다음, 두 값 중 큰 것과 세 번째 값을 비교하면 풀 수 있다.max 함수function max(a, b, c){ let max; if (a min함수도 마찬가지로 if로 첫 번째 값과 두 번째 값을 비교한 다음, 두 값 중 작은 것과 세 번째 값을 비교하면 풀 수 있다.function min(a, b, c){ let min; if (a > b){ min = b; }else { min = a; } if (min > c){ min =..

기타 2025.06.02

뒤집어도 같은 숫자

이 문제는 1~9999까지의 숫자중 뒤집어도 같은 숫자를 출력하는 문제이다.(예 1 ~ 9, 11, 22, 33, 44 ... 1111등)이 문제는 숫자를 문자열로 변환한 다음 모두 같은 문자인지 확인하는 방법으로 풀 수 있다.크게 3가지 구조가 있다.메인 반복문메인 반복문 내 첫번째 문자가 다른 모든 것과 같은지 확인하는 반복문윗 반복문의 결과가 참이면 출력하는 console.log함수메인 반복문for (let i = 1; i 최종코드for (let i = 1; i

기타 2025.05.26

별찍기 with 숫자

이 문제는 트리형 별찍기 문제에 index를 결합한 별찍기 문제이다. 예시는 다음과 같다. 1 121 12321 1234321123454321이 문제는 3가지 부분으로 나눌 수 있다.메인 반복문(현재 줄을 나타낼 수 있다)메인 반복문 내의 공백 추가 반복문메인 반복문 내의 숫자 출력 반복문다만 console.log에서는 줄바꿈이 기본이라서 text에 임시로 저장하고 줄바꿈이 필요할때 출력하는 방식을 사용하였다.메인 반복문for (let i = 1; i 숫자 출력에서 사용된 j 최종 코드let n = 5;for (let i = 1; i

기타 2025.05.26

별찍기

이 문제는 다음과 같은 X자 형태로 출력하는 문제이다.* * * * * * ** *이 문제를 나누어서 풀어보면,1번째 반복문 - 공백 추가, 별찍기, 공백 추가, 별찍기(하나만 있어야 하는 중간 지점이 아니라면)2번째 반복문 - 공백 추가, 별찍기, 공백 추가, 별찍기2번째 반복문은 1번째 반복문에서 별이 하나만 있는 부분을 제외한 부분을 반대로 하면 된다. 다만 이 문제에서 나는 console.log를 사용하려고 했고, console.log에서는 줄바꿈이 필수적이라 text에 저장한 다음 최종적으로 줄바꿈이 필요한 시점에 출력하는 방식을 사용하였다.1번째 반복문에서 공백을 추가하고 별찍기를 한 다음, 다시 공백을 추가하고 별찍기를 하는 부분이다.for (let i = 0; i 이..

기타 2025.05.26

우분투, SSH

리눅스 계열에서 파생된 운영체제 중 하나이다. 높은 안정성과 LTS(Long Time Support : 업데이트를 자주 수행하지 않아서 안정성을 보장하는 기능이다)로 서버 운영에 자주 사용된다.리눅스 계열에서는 CLI(Command Line Interface : 쉘 환경 인터페이스라고 생각하면 쉽다. 예) 터미널, CMD등)를 주로 사용한다. 자주 사용되는 명령어는 다음과 같다.ls (dir) : (dir)디렉토리에 있는 파일과 폴더들을 출력해준다. 기본적으로는 현재 디렉토리에 있는 파일과 폴더를 출력한다.rm (dir) : (dir)인 파일을 삭제하지만, -r 속성을 붙이면 폴더도 삭제가 가능하다.cat (file) : (file)의 텍스트 부분을 가져와서 출력해준다.touch (file) : (fi..

기타 2025.05.14

Git, Github

Git : Git은 2005년에 발표된 변경 사항을 자동으로 업로드해주는 분산 버전 관리 시스템이다Github : Git시스템으로 작성된 분산 버전 관리 시스템이면서, 깃 저장소 호스팅을 지원하는 사이트이다.Git에서 사용되는 용어는 다음과 같다로컬 저장소 : 로컬에서 관리하고 저장하는 Git 저장소이다원격 저장소 : Github같은 사이트에서 관리하고, 로컬 저장소의 파일을 업로드하는 곳이다스테이징 : 커밋 하기 전, 커밋할 파일들을 수집하는 것이다커밋 : 스테이징 된 파일들을 커밋 히스토리에 기록하는 것이다푸쉬 : 로컬 저장소에 있는 커밋들을 원격 저장소에 업로드하는 것이다풀 : 원격 저장소에 있는 파일을 로컬 저장소로 불러오는 것이다브랜치 : 작업을 나누어서 하기 위한 분기다클론 : 다른 저장소의 ..

기타 2025.05.07

구조체가 담긴 배열의 포인터

구조체로 학생의 학번, 이름, 생년월일(정수6개)를 저장하는 구조체를 생성한 후, 구조체를 배열로 만들고, 그 구조체 배열의 주소를 저장하는 포인터 변수를 통해 구조체 배열에 접근하여 원하는 학생 수 만큼 정보를 입력받고 출력하는 코드이 문제는 복잡해보이지만, 해결 방법이 어렵지 않다.기본 라이브러리를 불러온다.#include 이제 struct를 생성한다. struct에는 학번과, 이름, 생년월을을 저장해야 한다.struct student{ int student_num, birthday; char name[1000];}이제 scanf로 학생 수를 입력 받고, VLA문법으로 배열과 포인터를 생성한다.int n;scanf("%d", &n);struct student info[n];struct st..

기타 2025.04.15

2차원 배열 이동 문제

2차원 배열로 15x15 짜리 판을 하나 만들고, 0으로 전부 초기화 한 후, 정 가운데 부분만 1로 둡니다.(체스에서 말을 둔다고 생각)그리고 숫자를 0이 입력될 때 까지 입력받고, 1을 입력할시 오른쪽으로, 2를 입력할시 아래로, 3을 입력할 시 왼쪽으로, 4를 입력할 시 위쪽으로 한칸씩 이동하고, 이동 할 때마다 이동한 판을 출력하는 코드를 작성하세요. (범위 밖으로 나가는건 처리하지 않아도 됩니다)조건) 이동하는 코드, 출력하는 코드는 모두 함수로 작성합니다.이 문제에서는 전역 변수로 array를 선언하면 편하기 때문에, {{0, }, {0, } (생략)}형식으로 초기화 했다.int arr[15][15] = {{0,}, {0,}, {0,}, {0,}, {0,}, {0,}, {0,}, {0,}..

기타 2025.04.08