반응형
Js 문제풀이
1번
function solution(bin1, bin2) {
// 이진수를 십진수로 변환
const decimal1 = parseInt(bin1, 2);
const decimal2 = parseInt(bin2, 2);
// 두 값을 더하기
const sum = decimal1 + decimal2;
// 결과를 다시 이진수로 변환
return sum.toString(2);
}
- solution 함수에 문자열 매개변수 binary 1,2 각각 받음
- constant 로 decimal1 ,2 를 설정
- 각각의 설정값은 문자열 bin1,2를 2(이진수)로 인지하여 10진수(숫자)로 변환 >> 이때 parseInt가 사용됨
- sum 변수로 두 값을 더하기
- 마지막으로 sum에 toString() 메서드를 사용해 이진수인 문자열로 다시 변환하면 끝
2번
// 내장 모듈 readline을 이용해 입력값을 읽고 처리
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,//키보드 데이터 읽기
output: process.stdout//콘솔에 데이터 저장
});
// line에 입력이 들어오면 input 함수 실행
rl.on('line', (input) => {
// 입력된 문자열의 대소문자 변환
let result = '';
//input 문자열 순회하며 문자 하나씩 확인
for (let char of input) {
if (char === char.toUpperCase()) {
result += char.toLowerCase();
} else {
result += char.toUpperCase();
}
}
// 변환된 문자열 출력
console.log(result);
rl.close(); // 입력 종료
});
- 내장 모듈인 readline 불러오기
- 변수 rl에 키보드 입력값을 읽고 콘솔에 데이터를 저장하는 인터페이스 저장
- 문자열 들어오면 input 함수 실행하기
- result 값을 초기화하고 input을 순회하면서 대문자, 소문자 체크
- if문으로 해당 특정 문자가 대문자인 경우 result에 소문자로 변환 후 저장
- 조건에 벗어난 경우 (else) 대문자로 바꿔서 바로 저장
- 변환 시킨 뒤 console.log() 로 result 출력
- rl.close() 로 마무리
3번
function solution(numbers) {
// 숫자와 영어 단어 매핑
const numMap = {
"zero": "0",
"one": "1",
"two": "2",
"three": "3",
"four": "4",
"five": "5",
"six": "6",
"seven": "7",
"eight": "8",
"nine": "9"
};
// 각 단어를 숫자로 치환
for (let word in numMap) {
numbers = numbers.replaceAll(word, numMap[word]);
}
// 숫자로 변환하여 반환
return Number(numbers);
}
- solution 함수에 매개변수로 numbers 문자열 받기
- 변수 numMap 안에 key-value 로 맵핑 (숫자 0~9 까지)
- 키 값을 받는 word를 넣어 for문에서 word를 모두 numMap["word"] 로 바꾸고 그것을 numbers에 저장하기
- Number()를 이용해 숫자로 바꾼 상태로 return 하기
cf.)
반복 순서 | word | numMap[word] | 치환 전 numbers | 치환 후 numbers |
1 | "zero" | "0" | "onefourzero" | "onefour0" |
2 | "one" | "1" | "onefour0" | "1four0" |
3 | "two" | "2" | "1four0" | "1four0" |
4 | "three" | "3" | "1four0" | "1four0" |
5 | "four" | "4" | "1four0" | "14zero" |
6 | "five" | "5" | "14zero" | "14zero" |
7 | "six" | "6" | "14zero" | "14zero" |
8 | "seven" | "7" | "14zero" | "14zero" |
9 | "eight" | "8" | "14zero" | "14zero" |
10 | "nine" | "9" | "14zero" | "140" |
반응형
'WINK-(Web & App) > HTML & CSS & JS 스터디' 카테고리의 다른 글
[2024-2 웹기초 스터디] 김민재 #4주차 (1) | 2024.11.28 |
---|---|
[2024-2 웹기초 스터디] 이민형 #3주차 (0) | 2024.11.14 |
[2024-2 웹기초 스터디] 김민재 #3주차 (1) | 2024.11.14 |
[2024-2 웹기초 스터디] 김재승 #3주차 (1) | 2024.11.14 |
[2024-2 웹기초 스터디] 김지수 #3주차 (0) | 2024.11.14 |