나를 제외한 천재들 블로그


- '분류 전체보기' 카테고리의 글 목록 (13 Page) -

분류 전체보기

    [JS] 현재 날짜, 시간 포맷 (YYYY-MM-DD hh:mm:ss)

    [JS] 현재 날짜, 시간 포맷 (YYYY-MM-DD hh:mm:ss)

    YYYY-MM-DD HH:MM:SS const TIME_ZONE = 9 * 60 * 60 * 1000; // 9시간 const date = new Date('2021-08-05 09:51:31'); new Date(date.getTime() + TIME_ZONE).toISOString().replace('T', ' ').slice(0, -5); // 2021-08-05 09:51:31 toISOString() 메서드는 "YYYY-MM-DDTHH:mm:ss.sssZ" 형식으로 정보가 반환되며, replace(), slice(0, -5)으로 불필요한 정보를 제거해줍니다. 해당 메서드에서 출력되는 시간은 UTC(미국) 기준으로 출력됩니다. 이를 대한민국 서울 시간에 맞추기 위해서 3240 * 10000(9시간..

    [PHP] 다중 파일을 ZIP 압축 파일로 다운로드하기

    [PHP] 다중 파일을 ZIP 압축 파일로 다운로드하기

    코드 // 가상의 경로를 가진 배열 생성 $files = ['upload/zipFile_1.txt', 'upload/zipFile_2.txt']; $filePath = $_SERVER['DOCUMENT_ROOT']."/"; $zip = new ZipArchive(); // zip 아카이브 생성하기 위한 고유값 $zipName = time()."zip"; // zip 아카이브 생성 여부 확인 if (!$zip->open($zipName, ZipArchive::CREATE)) { exit("error"); } // addFile ( 파일이 존재하는 경로, 저장될 이름 ) foreach ($files as $fileName) { $zip->addFile($filePath.$fileName, $fileName)..

    [JS] 체크박스 하나만 선택

    [JS] 체크박스 하나만 선택

    코드 first second third // Javascript function clickCheck(target) { document.querySelectorAll(`input[type=checkbox]`) .forEach(el => el.checked = false); target.checked = true; } 코드 풀이 3개의 체크박스 각각에 클릭 이벤트를 걸어주며 클릭 시 clickCheck 함수를 호출합니다. 체크 박스를 체크 시 자기 자신 element를 같이 넘겨줍니다. checkbox 타입을 가진 모든 input의 checked 속성을 false로 바꿔 선택 상태를 해제시켜줍니다.그 후 매게변수로 받아온 체크한 elmeent의 checked 속성만을 true로 바꿔줍니다.

    [JS] 틱택토 (Tic-Tac-Toe)

    [JS] 틱택토 (Tic-Tac-Toe)

    완성본 See the Pen Untitled by hyukson (@hyukson) on CodePen. Result 화면만을 띄워놓고 테스트를 해보실 수 있습니다. 코드 풀이 틱택토는 가로, 세로, 대각선 중 1 라인을 채우는 사람이 이기는 게임입니다. 즉 승리 조건은 가로, 세로, 대각선 중 1 라인을 다 채운 플레이어를 찾으면 됩니다. 이제 틱택토 게임을 구현하기 전 필요한 기능들을 생각해 보았습니다. 필요 기능 새 게임판 만들기 네모판을 클릭 시 현재 턴인 유저에 따른 표시 게임판에 가로, 세로, 대각선 중 1 라인을 채웠는지 확인 만약 승리 조건이 일치하지 않을 시 다음 턴 넘기기 위 기능 구현을 목표로 구현해 보았습니다. 1. 새 게임판 만들기 newMake() { let html = ''; ..

    [JS] 백준 2292번 벌집

    [JS] 백준 2292번 벌집

    출처 백준 온라인 저지 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58..

    [JS] 백준 2675번 문자열 반복

    [JS] 백준 2675번 문자열 반복

    출처 백준 온라인 저지 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMN..

    [JS] 프로그래머스 문자열을 정수로 바꾸기

    [JS] 프로그래머스 문자열을 정수로 바꾸기

    출처 programmers.co.kr/learn/courses/30/lessons/12925 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr 문제 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5 이하입니다. s의 맨 앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져 있습니다. s는 "0"으로 시작하지 않습니다. 풀이 문자열에 사칙연산을 사용하여 연산하면 문자열이 숫자로 바뀐다는 ..

    [JS] 프로그래머스 짝수와 홀수

    [JS] 프로그래머스 짝수와 홀수

    출처 programmers.co.kr/learn/courses/30/lessons/12937 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 문제 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 풀이 if 문으로 num을 2로 나눌 때 나머지가 0이 나올 시 "Even" 아닐 시 "Odd"를 반환하면 됩니다..

    [JS] 백준 11721번 열 개씩 끊어 출력하기

    [JS] 백준 11721번 열 개씩 끊어 출력하기

    출처 백준 온라인 저지 www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 문제 알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다. 한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오. 풀이 주어진 단어의 길이를 구해준 후 for 문을 돌려줍니다. for 문에서 10단위 마다 나눠 줘야 하기 때문에 10씩 더해주며, slice 메서드를 사용하여 10개의 길이만큼 자르고 출력 시켜주면 됩니다. 코드 const input = require('fs').readFileSync('..

    [JS] 백준 2839번 설탕 배달

    [JS] 백준 2839번 설탕 배달

    출처 백준 온라인 저지 www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬..

    [JS] 달력 만들기

    [JS] 달력 만들기

    CSS의 display의 grid 속성을 이용해서 제작한 달력입니다. 완성 코드 See the Pen Untitled by hyukson (@hyukson) on CodePen. 전체 코드 const makeCalendar = (date) => { const currentYear = new Date(date).getFullYear(); const currentMonth = new Date(date).getMonth() + 1; const firstDay = new Date(date.setDate(1)).getDay(); const lastDay = new Date(currentYear, currentMonth, 0).getDate(); const limitDay = firstDay + lastDay; c..

    [JS] 백준 1546번 평균

    [JS] 백준 1546번 평균

    출처 백준 온라인 저지 www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로..