전체 글 29

Javascript 모듈 내보내기/불러오기(CommonJs, ES6) 사용법

ES6 문법이 도입됨에 따라 node.js에서 import/export 문법을 사용할 수 있게 됐다. 그렇다면 import/export와 require/module.exports의 차이점은 무엇일까? import/export에 대해 설명하기 전에 require과 module.exports에 대해 알아보자. ES6 문법이 도입되기 전의 모듈 시스템은 CommonJs 방식이라고 한다. CommonJs 방식에서 모듈을 내보내는 방법은 exports와 module.exports 두 가지 방식이다. 두 가지 방식의 차이점은 없다! 공식 문서에 따르면 exports는 module 객체의 exports를 참조하는 것 뿐이다. // test.js exports.test = function () { console.log..

카테고리 없음 2021.09.25

BOJ 14891 톱니바퀴

www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 문제 해결 전략 톱니바퀴를 배열로 구해서, 시계 방향 또는 반시계 방향으로 swap한다. 나머지는 문제에서 제시한 대로 진행 소스 #include #include using namespace std; int tob[5][9]; int k; void spin(int num, int dir){ if(dir == 1){ // 시계 방향 for(int i = 8; i >= 2; i--){ swap(tob[num]..

BOJ 14888 연산자 끼워넣기

www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제 해결 전략 소스 코드 #include using namespace std; #define MAX 12 #define endl "\n" int arr[MAX]; int oper[4]; int n; int minNum = 1e9, maxNum = -1 * (1e9); void dfs(int cnt, int num) { if(cnt == n - 1) { i..

BOJ 13458 시험 감독

www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 문제 해결 전략 소스 코드 #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); long long N, tot = 0; int b, c; cin >> N; vector v; v.resize(100000..

BOJ 2018 수들의 합 5

www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1≤N≤10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. www.acmicpc.net 문제 해결 전략 자연수 N을 연속된 자연수의 합으로 만들 수 있는 경우의 수를 구하는 문제이다. totalNum이 정답이며 자연수 N을 구할 때 자기 자신도 포함이므로 totalNum을 1로 초기화 했다. sum에 연속된 수를 더하면서 sum이 N과 같다면 totalNum을 +1 하는 방식으로 정답을 구했다. 소스 #include #include #include #include #include..

BOJ 11005 진법 변환 2

www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 해결 전략 10진법의 수를 B진법(2 n >> m; string ans = ""; while(1) { if(n == 0) break; int num = n % m; n = (n / m); if (num 10 ans += (char)(num - 10 + 'A'); } } reverse(ans.begin(), a..