프로그래머스 기준으로 정리했습니다.
코딩테스트 → 기초문제 입니다.
1️⃣ 덧셈식 출력하기
문제설명
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.
제한사항
- 1 ≤ a,b ≤ 100
입출력 예
입력 #1
4 5
출력 #1
4 + 5 = 9
답
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
const a = Number(input[0]);
const b = Number(input[1]);
const c = a + b;
console.log(`${a} + ${b} = ${c}`);
});
a,b에는 input 배열의 인덱스 값을 각각 넣어주고 숫자로 변환한다.
c 에는 숫자로 변환된 a,b값을 더해준다.
백틱으로 결과값 출력하기
2️⃣ 문자열 붙여서 출력하기
문제설명
두개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
제한사항
- 1 ≤ str1, str2의 길이 ≤ 10
입출력 예
입력 #1
apple pen
출력 #1
applepen
입력 #2
Hello World!
출력 #2
HelloWorld!
답
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
str1 = input[0];
str2 = input[1];
result = str1 + str2;
console.log(result);
});
str1와 str2에 는 input 배열의 인덱스 값을 각각 넣어준다.
그리고 붙이기... 끝........ 1번보다 더 쉬움ㅋ
3️⃣ 문자열 돌리기
문제설명
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해보세요.
제한사항
- 1 ≤ str의 길이 ≤ 10
입출력 예
입력 #1
abcde
출력 #1
a
b
c
d
e
답
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = [line];
}).on('close',function(){
str = input[0];
for(let c of str){
console.log(c);
}
});
str에 input의 첫번째 문자열을 담는다.
문자 하나씩 순회하며 c에 담아서 출력한다.
이럴 땐 for(let c of 문자){...} 식을 이용한다.
변수명은 c가 아니여도 상관없지만 character(문자)의 앞글자를 따서 c를 쓰는게 관례적임
4️⃣ 홀짝 구분하기
문제설명
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even", 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.
제한사항
- 1 ≤ n ≤ 1,000
입출력 예
입력 #1
100
출력 #1
100 is even
입력 #2
1
출력 #2
1 is odd
답
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
n = Number(input[0]);
modulo = n % 2;
if(modulo === 0) {
console.log(`${n} is even`);
}else {
console.log(`${n} is odd`);
}
});
moulo산술 연산자를 이용해서 나눗셈의 나머지를 구한다.
나머지가 0이면 짝수 아니면 홀수로 출력한다.
산술 연산자
코딩 테스트 연습하다가 자꾸 까먹어서 정리해 보는 산술 연산자자주 쓰이는 7가지 산술 연산자와 주의해야 할 특징을 정리해 보자 1. 기본 산술 연산자(이항 연산자)연산자의미예시결과+더하기
rlskd.tistory.com
산술 연산자는 여기서 참고하세요 ㅇ_<
5️⃣ 문자열 겹쳐쓰기
문제설명
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
- 1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
- 0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
입출력 예
| my_string | overwrite_string | s | result |
| "He11oWor1d" | "lloWorl" | 2 | "HelloWorld" |
| "Program29b8UYP" | "merS123" | 7 | "ProgrammerS123" |
입출력 예 설명
입출력 예 #1
- 예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.
입출력 예 #2
- 예제 2번의 my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.
답
function solution(my_string, overwrite_string, s) {
var answer = '';
var index = s;
var length = overwrite_string.length;
answer = my_string.substring(0, index) + overwrite_string +
my_string.substring(index + length);
return answer;
}
console.log(solution);
입출력 예 설명이 없었다면 난 이문제를 영원히 못 풀었을거다......
한국말인데 어려워..;
#1예로 들자면 overwrite_string의 문자열은 "lloWorl" 이고 문자열 길이는 7이다.
"He11oWor1d" 인덱스 2부터 7글자만 바꾸면 되는거다.
문자열의 일부분을 잘라서 반환하는 메소드가 있다.
substring(start, end) 근데 end는 불포함임!!
그럼 우리는 저 노란부분만 바꿔치기 해야되기 때문에
① "He" + ② "lloWorl" + ③ "d" 의 조합식을 만들어야된다.
① my_string.substring(0, index) 0번째 글자부터 index-1번째까지
② overwrite_string 7글자
③ my_string.substring(index + length) index+7번째부터 끝까지
'JAVASCRIPT' 카테고리의 다른 글
| [프로그래머스] 코딩 테스트 Day1. 출력 (0) | 2026.03.13 |
|---|---|
| 산술 연산자 (0) | 2026.03.09 |
| JS 배열 메서드 완벽 정리 (0) | 2026.01.22 |
| [Javascript] 컴퓨터(PC), 모바일(Mobile) 기기 인식하기 (0) | 2022.11.29 |
