코딩 테스트/Baekjoon

문제 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 정답 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; const input = fs .readFileSync(filePath) .toString() .split("\n") .map(_ => _.split("")); // 배열에서 가장 긴 문자열의 길이 구하기 const maxStrNum = Math.max.apply( n..
문제 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 정답 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; const input = fs .readFileSync(filePath) .toString() .split("\n") .map(str => str.split(" ").map(Number)); // 첫 번째 행을 A, B의 행렬 크기를 알려주는 변수로 따로 빼기..
문제 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let changes = fs.readFileSync(filePath).toString().trim().split("\n").map(Number); // 동전을 센트 단위로 바꿔 배열화한다 const quarter = 25; const dime = 10; const nickel = 5; const penny = 1; const coinArr = [qu..
문제 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let N = Number(fs.readFileSync(filePath).toString()); for (let i = 1; i 0; j--) { let blank = " ".repe..
문제 10812번: 바구니 순서 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); let [n, m] = input.shift().split(" ").map(Number); let rotate = input.map(x => x.s..
문제 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().trim(); let inputs = [...input].reverse().join(""); input === inputs ? console.log(1) : console.log(0);
문제 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 정답 // for문으로 각각의 인덱스 값을 찾아 빼기 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().split(" "); let chess = [1, 1, 2, 2, 2, 8]; let answer = []; for (let i = 0; i < chess.length;..
문제 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString(); console.log(input); let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/st..
문제 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); for (let i = 1; i console.log(x.substring(0, 1) + x.substring(x.length - 1, x.length)));
문제 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().trim().length; console.log(input);
문제 27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); let str = input[0].split(""); console.log(str[parseInt(input[1]) - 1]);
문제 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 메모 중첩 for문을 이용해 해당 범위의 배열을 담아두고 뒤집은 뒤, splice로 제거한 해당 범위에 넣는다. 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); let [N, M] = input[0].split("..
문제 10813번: 공 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net 메모 배열 순서 교환하기 // 2번째 요소와 0번째 요소를 교환 let fruits = ["Apple", "Banana", "Orange", "Mango"]; let tmp = fruits[2]; fruits[2] = fruits[0]; fruits[0] = tmp console.log( fruits ); // ["Orange", "Banana", "Apple", "Mango"] 정답 let fs = require("fs"); let filePath = pro..
문제 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); let [N, M] = input[0].split(" ").map(Number); let arr = new Array(N); for (let i = 1; i
문제 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); let answer = input[1].split(" ").filter(x => x === input[2]).length; console.log(answer);
문제 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 메모 for: 괄호로 감싸고 세미콜론으로 구분한 세 개의 선택식과, 반복을 수행할 문(주로 블럭문)으로 이루어져 있다. Number: 숫자를 다루기 위해 상수와 메소드를 가지고 있다. 다른 타입의 값은 Number() 함수를 사용하여 숫자로 바꿀 수 있다. String.prototype.repeat(): 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환한다. let str = ''; for (let i = 0; i < 9; i++) { str = str + i; } console.log(s..
문제 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = Number(fs.readFileSync(filePath).toString()) / 4; let long = "long "; console.log(`${long.repeat(input)}int`);
문제 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = Number(fs.readFileSync(filePath).toString()); let answer = Array(input) .fill(1) .map((a, b) => a + b) .reduce((a, b) => a + b); console.log(answer);
문제 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = Number(fs.readFileSync(filePath).toString()); let n = 1; while (n < 10) { console.log(`${input} * ${n} = ${input * n}`); n++; }
문제 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = Number(fs.readFileSync(filePath).toString()); if ((input % 4 === 0 && input % 100 >= 1) || input % 400 === 0) { console.log("1"); } else { c..
카버
'코딩 테스트/Baekjoon' 카테고리의 글 목록