728x90
<숫자의 합>
www.acmicpc.net/problem/11720
#내가푼코드
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let j = input[1];
let answer = 0;
for(let x of j){
answer = answer + Number(x);
}
console.log(answer);
#포인트
-문자열에서 각 문자(원소)를 하나씩 확인하여 정수로 변환한다.
-정수로 변환된 각 값을 모두 더하여 정답을 계산할 수 있다.
# 정답예시
//fs모듈을 이용해 파일 전체를 읽어와 문자열로 저장하기
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let n = Number(input[0]);
let j = input[1];
let answer = 0;
//문자열에 포함된 문자를 하나씩 확인하며
for(let x of string){
//모든 숫자를 더하기
answer += Number(x);
}
console.log(answer);
<문자열 반복>
www.acmicpc.net/problem/2675
#포인트
-한 줄씩 읽어 들이면서, 문자열 S에 포함된 문자를 각각 R번 반복한다.
-예시) 4XYZ -> XXXXYYYYZZZZ
#정답예시
//fs모듈을 이용해 파일 전체를 읽어와 문자열로 저장하기
let fs= require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let testCase = Number(input[0]);
//한 줄(line)씩 입력받기
for(let i=1; i<= testCase; i++){
let [r, s] = input[i].split(" ");
let result = "";
//현재 문자열의 각 문자를 하나씩 확인하며
for(let j=0; j<= s.length; j++){
//r번 반복한 문자열을 뒤에 이어붙이기
result += s.charAt(j).repeat(r);
}
console.log(result);
}
<상수>
#내가 푼 코드
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let a = Number(input[0]);
let b = Number(input[1]);
#포인트
-세 자리 수를 문자열 형태로 처리하여, 뒤집을 수 있다.
-예시) "285"가 입력으로 들어오면 "582"로 변경한 뒤에 정수 데이터로 변경한다.
#정답예시
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
//input은 현재 string이다.
//split은 string을 일정한 구분자로 잘라서 배열로 저장한다.
let a = input[0].split(' ')[0];
let b = input[0].split(' ')[1];
let newA = a[2] + a[1] + a[0]; //string이니까 가능하다
let newB = b[2] + b[1] + b[0];
console.log(Math.max(Number(newA), Number(newB))) ;
https://moongji-record.tistory.com/549
참고하기
<단어의 개수>
www.acmicpc.net/problem/1152
#포인트
-단순히 전체 문자열에 포함된 단어의 개수를 계산한다.
-결과적으로 공백("")으로 구분된 단어의 개수를 세면 된다.
#정답코드예시
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
//trim() 메서드는 문자열 양 끝의 공백을 제거한다.
//공백으로 구분된 단어의 개수 출력한다.
let data = input[0].trim().split(" ");
let count = 0;
for(let i=0; i < data.length; i++){
if(data[i] !== ""){
count ++;
}
}
console.log(count);
사이드의 필요없는 공백을 먼저 없앤후에 그걸 split하면 hello world이면 "hello", "world" 이렇게 되겟지
728x90
'개인공부 > 패스트캠퍼스 알고리즘' 카테고리의 다른 글
[알고리즘] 2-2. 배열과 리스트 (0) | 2023.08.15 |
---|---|
[알고리즘] 2-1. 자료구조 (0) | 2023.08.15 |
1-6. JavaScript 배열 문제풀이 (0) | 2023.07.30 |
1강-5. 반복문 문제풀이 (0) | 2023.07.28 |
1강-4. 조건문 문제풀이 (0) | 2023.06.29 |